2009. 1. 16. 11:26
갑자기 포스팅이 하고싶어서 씀.


자바스크립트에서 조건식을 쓸때 무엇이 false 이고 무엇이 true 일까?

boolean 값인 true 나 false 는 그 자체가 true, false 이다.

number 일 경우 0 이나 NaN 이면 false, 그 외에는 모두 true 이다.

string 일 경우 "" 이면 false, 그 외에는 모두 true 이다.

object 의 경우 null 일 경우 false, 그 외에는 모두 true.

function, array 등은 모두 true.

정리하면.. 자바스크립트 조건문에서 true 는 false, 0, NaN, "", null 을 제외한 모든 값이다.


ps. 위를 응용한 재미있는 사실

if ("0") alert(1);
else alert(0);
 1 이 출력됨. (true)

if ("0" == true) alert(1);
else alert(0);
 0 이 출력됨. (false)

if ("0" == false) alert(1);
else alert(0);
 1 이 출력됨. (true)

조건문에서 "0" 은 true 지만, "0" == false 이다.

 참고 :

자바스크립트 타입 비교 테이블 + 테이블 작성 스크립트

Posted by 아즈키