type의 종류에는Number, string, Boolean, Null, Undefined, BigInt, Symbol 7가지가 존재한다.
이 글에서는 Boolean에 대해서 배우겠다.
Boolean은 사실 관계를 파악하기 위한 타입이다.
그래서 ture
혹은 false
둘 중 하나의 값이 나온다.
자바스크립트에서는 false로 여겨지는 값이 있는데 이를 falsy값이라고 한다.
반대로 true로 여겨지는 값을 truthy값이라고 한다.
truthy 값은 매우 많아서, falsy 값을 암기하면 구분하기 쉽다.
false // 키워드 false
0
-0
0n // BigInt. 불리언으로 사용될 경우, 숫자와 같은 규칙을 따름. 0n은 거짓 같은 값.
"" // 빈 string
'' // 빈 string
`` // 빈 string
null // 아무런 값도 없음
undefined // 원시값
NaN // 숫자가 아님
=== :엄격한 동치 연산자 두 피연산자의 값과 타입이 같으면 true 아니면 false를 출력한다.
!== : ===와 반대값이 나온다.
123 === (100 + 23); // true ("123의 값과 100 + 23의 값은 같다."는 사실이기 때문에 true)
123 === '123'; // false ("123의 값과 '123'의 값은 같다."는 사실이 아니기 때문에 false)
123 !== (100 + 23); // false ("123의 값과 100 + 23의 값은 같지 않다."는 사실이기 아니기 때문에 false)
123 !== '123'; // true ("123의 값과 '123'의 값은 같지 않다."는 사실이기 때문에 true)
> , < , >= , <= : 대소 관계 비교 연산자로 두 피연산자의 값의 크기를 비교한다.
100 > 200; // false ("100은 200보다 크다."는 거짓)
200 > 100; // true ("200은 100보다 크다."는 참)
100 >= 100; // true ("100은 100보다 크거나 같다."는 참)
200 <= 100; // false ("200은 100보다 작거나 같다."는 거짓)
>, < 가 먼저 온다는 것에 유의하자
|| : 논리합(OR) 두 값 중 하나만 true 여도 true 로 판단, 두 값이 모두 false 면 false 로 판단한다. (|| 은 엔터키 위에 있다.)
true || false; // true
false || false || true; // true
false || false; // false
&& : 논리곱(AND) : 두 값이 모두 true 면 true 로 판단, 두 값 중 하나만 false 여도 false 로 판단
true && true // true
true && false; // false
true && true && false; // false
! : 부정(NOT) : 오른쪽 피연산자와 반대의 사실을 반환합니다.
!true // false
!(100 > 200) // true
falsy, truthy의 반대 값을 반환합니다.
!0 // true
!'' // true
!1 // false
!'코드스테이츠' // false