조건문은?
- 어떠한 조건을 판별하는 기준을 만드는 것 (
>
,<
,===
등...)- 조건문에는 반드시 비교 연산자(comparison operator) 필요.
- 비교의 결과는 늘 Boolean ( true / false )
연산자 | 의미 | 참고 |
---|---|---|
> | 초과 | |
< | 미만 | |
≥ | 이상 | |
≤ | 이하 | |
=== | 같다 | 타입까지 비교 |
!== | 다르다 | 타입까지 비교 |
== | 같다 | 타입 비교 X |
!= | 다르다 | 타입 비교 X |
==
, !=
은 타입을 엄격하게 비교하지 않기 때문에 예외케이스 많이 발생.null == undefined // true 예외발생
‘true’ === true // false 문자열과 boolean 타입의 비교가 됨.
if (조건1) {
// 조건1이 통과할 경우
} else if (조건2) {
// 조건1이 통과하지 않고
// 조건2기 통과할 경우
} else {
// 모든 조건이 통과하지 않는 경우
}
조건에는 Boolean으로 결과가 나오는 비교구문이 들어간다.
두가지 조건이 한번에 적용되는 경우?
~ 이거나 ~ 일 때(OR), ~ 이면서 ~ 일 때(AND)
: 논리 연산자(Logical operator) 사용
- | 연산자 | 의미 |
---|---|---|
&& | AND | |
|| | OR | |
! | NOT | truthy, falsy 여부를 반전시킴 |
!false // true
!(3>2) // false
!undefined // true (undefined는 falsy한 값)
!'Hello' // false (모든 문자열은 truethy한 값)
!!
, !!!
true || true //true
true || false //true
false || false // false
true && true // true
true && false // false
false && false // false
두 조건이 모두 truthy해야만 true, 그렇지 않으면 false가 출력
기억해야 할 6가지 falsy 값
다음은 if문에서 false로 변환되므로, if 구문이 실행되지 않음.if(false) if(null) // 값이 없다.(null) if(undefined) // 할당되지 않았다, 정의되지 않았다. if(0) if(NaN) // Not a Number if('') // 값이 없는 String 문자열