- 조건문(conditional statement)은 주어진 조건식(conditional expression)의 평가 결과에 따라 코드 블럭(블록문)의 실행을 결정한다. 조건식은 불리언 값으로 평가될 수 있는 표현식이다.
제어문(Control flow statement)은 주어진 조건에 따라 코드 블록을 실행(조건문)하거나 반복 실행(반복문)할 때 사용한다.
일반적으로 코드는 위에서 아래 방향으로 순차적으로 실행된다. 제어문은 코드의 실행 순서를 인위적으로 제어할 수 있다
- Trythy : true 같은거...
- Falsy : false 같은거...
Falsy 한 값들
- undefined
- null
- 0
- ' '
- NaN
의외의 모든 값들은 전부 다 Truthy
- 조건문은 특정 조건일 때 코드를 실행하는 문법.
- 프로그램을 만들다 보면 여러 가지 상황을 처리해야 하는 경우가 있고 이때 조건문은 다양한 상황에서 조건에 따른 결정을 할 때 사용.
- 자바스크립트는 2가지의 조건문 if…else 문과 switch 문을 제공한다.
- if…else 문은 주어진 조건식(불리언 값으로 평가될 수 있는 표현식)의 평가 결과, 즉 논리적 참, 거짓에 따라 실행할 코드 블록을 결정한다.
- 만약 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 강제 변환되어 논리적 참, 거짓을 구별한다.
if (조건식1) {
// 조건식1이 참이면 이 코드 블록이 실행된다.
} else if (조건식2) {
// 조건식2가 참이면 이 코드 블록이 실행된다.
} else {
// 조건식1과 2가 모두 거짓이면 이 코드 블록이 실행된다.
}
- switch 문은 switch 문의 표현식을 평가하여 그 값과 일치하는 표현식을 갖는 case 문으로 실행 순서를 이동시킨다.
- case 문은 상황(case)을 의미하는 표현식을 지정하고 콜론으로 마친다. 그리고 그 뒤에 실행할 문들을 위치시킨다.
- switch 문의 표현식과 일치하는 표현식을 갖는 case 문이 없다면 실행 순서는 default 문으로 이동한다. default 옵션으로 사용할 수도 있고 사용하지 않을 수도 있다.
switch (표현식) {
case 표현식1:
// 표현식 == 표현식1 이면 실행될 문;
break;
case 표현식2:
// 표현식 == 표현식2 이면 실행될 문;
break;
default:
// 일치하는 표현식이 없으면 실행될 문;
}
switch 문의 break
- break 키워드로 구성된 break 문은 코드 블록에서 탈출하는 역할을 수행한다. break 문이 없다면 case 문의 표현식과 일치하지 않더라도 실행 순서는 다음 case 문으로 연이어 이동한다. (폴 스루, fall through)
// 조건식 ? true면 실행 : false면 실행;
let result = x % 2 ? '홀수' : '짝수';
비교 연산자 | 의미 | 사례 | 설명 |
---|---|---|---|
== | 동등 비교 | x == y | x와 y의 값이 같음 |
=== | 일치 비교 | x === y | x와 y의 값과 타입이 같음 |
!= | 부등 비교 | x != y | x와 y의 값이 다름 |
!== | 불일치 비교 | x !== y | x와 y의 값과 타입이 다름 |
비교 연산자 | 예제 | 설명 |
---|---|---|
> | x > y | x가 y보다 크다 |
< | x < y | x가 y보다 작다 |
>= | x >= y | x가 y보다 같거나 크다 |
<= | x <= y | x가 y보다 같거나 작다 |
- ~~보다 크고(같거나 크고), ~~보다 작다(같거나 작다). 라고 표현해야하는 경우에는 예시와 같은 순서로 작성한다.
ex) 10 < num && num < 30
논리 연산자 | 의미 |
---|---|
II | 논리합 (OR) |
&& | 논리곱 (AND) |
! | 부정 (NOT) |
논리 연산자의 연산 순서
- NOT -> AND -> OR
- OR 의 경우,
좌항의 피연산자가 TRUE이면, 우항의 피연산자는 연산하지 않고 TRUE를 반환한다. ( 좌항의 피연산자가 FALSE인 경우에만, 우항의 연산자를 연산한다. )- AND의 경우,
좌항의 피연산자가 FALSE이면, 우항의 피연산자는 연산하지 않고 FALSE를 반환한다.
Reference
Word of the day
Conditional statement.
만약 과거로 돌아간다면.....??
Buy...TESLA....
End.