자바스크립트에서 느낌표 두 개(!!)는 다른 타입의 데이터를 boolena 타입으로 명시적으로 형 변환(Type conversion)하기 위해 사용한다.
var a = "test"; //a: "test" (조건문 적용시 true)
var b = !"test"; //b: false
var c = !!"test"; //c: true
자바스크립트에서 아래의 기본 타입 데이터 6가지는 false, 이 외에는 모두 true가 된다.
사실상 조건문에서 비교할 때는 자동으로 boolean 타입으로 변환해주기 때문에 조건문에서 사용시에는 큰 의미를 찾지 못한다.
"" | 빈 문자열 |
false | 기본 boolean false |
NaN | Not a Number |
undefined | 정의되지 않은 값 |
null | Null 값 |
0 | 숫자 기본값 |