TIL : 조건문, 문자열
1. 조건문
어떠한 조건을 판별하는 기준을 만드는 것, 비교 연산자(Comparison Operator)가 반드시 필요(>, <, >=, <=, ===, !==)
==, != : 사용X ( ∵ 타입을 엄격하게 비교하지 않음.)
if (조건1) {
//조건1이 통과할 경우
} else if (조건2) {
//조건1이 통과하지 않고
//조건2가 통과할 경우
} else {
//모든 조건이 통과하지 않는 경우
}
→ 조건에는 Boolean으로 결과가 나오는 비교 구문이 들어간다.
· 두 가지 조건이 한 번에 적용되는 경우 : 논리 연산자(Logical Operator) 사용 - &&, ||, !
· 기억해야 할 6가지 falsy 값 : false, null, undefined, 0, NaN, ' '
# 조건문 어려웠던 문제
시, 분, 초를 입력받아 1초를 더한 결과값을
1초 뒤에 {hour}시 {minute}분 {second}초 입니다 형식으로 리턴
function addOneSecond(hour, minute, second) {
second = second + 1;
if (second >= 60) {
second = 0
minute = minute + 1;
}
if (minute >= 60) {
minute = 0
hour = hour + 1;
}
if (hour >= 24) {
second = 0
minute = 0
hour = 0;
} return `1초 뒤에 ${hour}시 ${minute}분 ${second}초 입니다`
}
2. 문자열
· str[index] : 지정한 위치의 문자 추출
· str.indexOf()
-argruments : 찾고자 하는 문자열
-return value : 처음으로 일치하는 index, 찾고자 하는 문자열이 없으면 -1
-lastIndexOf : 뒤에서부터 찾는다.
· str.includes() : 일치하는 글자 확인
· str.split()
-argruments : 분리 기준이 될 문자열
-return value : 분리된 문자열이 포함된 배열
·str.substring(start, end) : start부터 end 전까지의 문자열 (end 포함 X)
-arguments: 시작 index, 끝 index
-return value: 시작과 끝 index 사이의 문자열
· str.slice(start, end) : 뒤에서부터 자를 땐 음수 인덱스 사용 (end 포함 X)
· str.toLowerCase() : 소문자로
· str.toUpperCase() : 대문자로
· str.trim() : 문자열 양 끝의 공백 제거
· str.replace() : 어떤 패턴에 일치하는 일부 또는 모든 부분을 교체 (단, 패턴이 문자열일 경우, 첫 번째 문자열만 치환)
· str.match() : 문자열이 정규식과 매치되는 부분 검색
→ 정규 표현식(정규식) : 문자열에 나타나는 특정 문자 조합과 대응시키기 위해 사용되는 패턴
⭐️문자열에서 기억할 것
- 문자열 인덱스는 항상 0부터 시작한다.
- 공백도 문자열에 포함된다.
- 문자열에는 + 연산자만 사용 가능
모든 string method는 immutable 하다. (즉, 원본이 변하지 않는다.)
-> array method는 immutable 및 mutable 여부를 잘 기억하기
# 문자열 어려웠던 문제
사용자의 이름과 미접속 시간(분)을 입력받아 조건별로 다른 메세지를 리턴해야 합니다.