더북(TheBook)

false, ''(빈 문자열), 0, NaN은 불 값으로 형 변환했을 때 false가 됩니다. 여기에 나중에 배우는 undefinednull도 형 변환하면 false가 됩니다. 이 여섯 가지만 알면 됩니다(document.all이라는 것도 false로 변환되지만, 거의 사용하지 않습니다). 이렇게 형 변환한 후 false가 되는 값들을 거짓인 값(falsy value)이라고 하고, true가 되는 값들은 참인 값(truthy value)이라고 합니다.

논리 연산자도 우선순위가 있습니다. 표 2-1에 나온 우선순위를 확인하세요. 우선순위는 그룹 연산자(소괄호)를 이용해 조정할 수 있습니다. 다음 두 식의 결과를 보죠.

> !(2 < 0);
< true
> !2 < 0;
< false

소괄호의 우선순위가 가장 높습니다. 따라서 소괄호부터 계산되므로 2 < 0 식의 결과는 false가 되고 !false 식의 결과는 true가 됩니다. 소괄호가 없다면 ! 연산자의 우선순위가 < 연산자보다 높습니다. 따라서 !2 식이 먼저 계산되어 false가 되고, false < 0 식을 연산하므로 결과는 false가 됩니다. 연산할 때 연산자의 우선순위도 항상 염두에 두어야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.