· NaN은 falsy 값입니다.

· ==은 type casting한 후 비교 연산합니다.

· Boolean(NaN), !!NaN 모두 false가 나옵니다.


그럼 맨 마지막 부분이 왜 그런 지 설명해보세요.

Boolean('') == false; // true

Boolean(0) == false; // true

Boolean(NaN) == false; // true

'' == false; // true

0 == false; // true

NaN == false; // false => 왜 이렇게 나올까요?