학습 목표
- 특정한 조건에서만 실행되는 코드를 작성할 수 있다.
truthy
와falsy
가 조건문에서 작동하는 방식을 이해할 수 있다.- 비교 연산자를 통한 엄격한 비교(
===
,!==
)에 대해 이해할 수 있다.- if, else if, else를 사용하여 여러 개의 조건을 중첩해서 사용할 수 있다.
- 논리 연산자를 (
&&
,||
,!
...) 통해 복잡한 조건을 간결하게 작성할 수 있다.
조건문은 특정 조건에 따라 코드가 실행되도록 한다.
if문은 주어진 조건식의 참(true
)/거짓(false
) 여부에 따라 실행이 결정됨
따라서, 조건식은 결과가 불린 타입이 되도록 작성해야 함
'hello world'
를 출력하기 위한 코드if (true) {
console.log('hello world';
}
if
뒤에 있는 소괄호에 조건식을 넣으면, 조건식이 참으로 평가된 경우 코드블록 내부의 코드 실행===
true
, 그렇지 않으면 false
를 반환!==
는 반대로 두 피연산자가 동일하지 않으면 true
, 동일하면 false
를 반환let name = 'kimcoding';
if (name === 'kimcoding') {
console.log('중복된 이름입니다.'); // '중복된 이름입니다.'
}
let name = 'parkhacker';
if (name !== 'kimcoding') {
console.log('가입할 수 있는 이름입니다.'); // '가입할 수 있는 이름입니다.'
}
>
, <
, >=
, <=
let num = 5;
if (num < 10) {
num = num + 1;
}
console.log(num); // 6
if (num > 5) {
num = num - 1;
}
console.log(num); // 5
&&
, ||
||
)과 논리곱(&&
)을 사용하면 복수의 조건을 작성 가능||
은 여러 조건 중 하나만 true
여도 true
로 판단&&
은 여러 조건 중 하나라도 false
이면 false
로 판단let age = 15;
if (age > 13 && age <= 19) {
console.log('청소년입니다.'); // '청소년입니다.'
}
!
let num = 11;
if (!(num === 10)) {
console.log('변수 num은 10이 아닙니다.'); // '변수 num은 10이 아닙니다.'
}
if문을 사용하여 조건식이 true일 때만 코드가 실행되도록 할 수 있었음
else문을 사용하면 조건이 true일 때, 그리고 false일 때 각각 다른 코드가 실행되도록 할 수 있음
let num = 5;
if (num % 2 === 0) {
console.log('짝수입니다.');
} else {
console.log('홀수입니다.'); // '홀수입니다.'
}
else문은 독립적으로 사용할 수 없으며, if문 바로 뒤에 작성
여기서 더 조건을 추가하고 싶으면 else if문을 작성
let name = 'kimcoding';
let course = 'seb be'
if(name === 'kimcoding' && course === 'seb fe') {
console.log('정보가 일치합니다.')
} else if (name === 'kimcoding' && course !== 'seb fe') {
console.log('코스를 확인하세요.') // '코스를 확인하세요.'
} else {
console.log('일치하지 않는 정보입니다.')
}
if문과 else문은 두 번 이상 사용할 수 없지만, else if문은 여러 번 사용 가능
let age = 15;
if (age < 8) {
console.log('미취학아동입니다.');
} else if (age >= 8 && age < 14) {
console.log('초등학생입니다.');
} else if (age >= 14 && age < 17) {
console.log('중학생입니다.'); // '중학생입니다.'
} else if (age >= 17 && age < 20) {
console.log('고등학생입니다.');
} else {
console.log('성인입니다.');
}
if문과 else문을 삼항 조건 연산자로 바꿔 쓸 수 있음
let num = 5;
num % 2 === 0 ? console.log('짝수') : console.log('홀수'); // '홀수'
삼항 조건 연산자는 조건식을 먼저 작성하고, ?
를 입력한 후, ?
뒤로 참/거짓일 때 실행할 코드를 각각 입력
참/거짓일 때 실행할 코드는 :
로 구분
/* 위 코드와 동일 코드 */
let num = 5;
if (num % 2 === 0) {
console.log('짝수입니다.');
} else {
console.log('홀수입니다.'); // '홀수입니다.'
}
위의 예시처럼 조건에 따라 실행할 코드가 간단하다면, 삼항 조건 연산자를 활용하는 것이 편리할 뿐만 아니라 가독성 좋음
그러나 조건에 따라 실행해야 할 내용이 복잡하다면, if문과 else문을 사용하는 것이 좋음