null
과 undefined
는 동등 비교(==
) 시 서로 같지만 다른 값과는 같지 않습니다.null
이나 undefined
가 될 확률이 있는 변수가 >
또는 <
의 피연산자로 올 때는 주의를 기울이시기 바랍니다. null
, undefined
여부를 확인하는 코드를 따로 추가하는 습관을 들이길 권유합니다.null이나 undefined와 비교하기
null
이나 undefined
를 다른 값과 비교할 땐 예상치 않은 일들이 발생합니다. 일단 몇 가지 규칙을 먼저 살펴본 후, 어떤 예상치 않은 일들이 일어나는지 구체적인 예시를 통해 살펴보도록 하겠습니다.
일치 연산자 ===
를 사용하여 null
과 undefined
를 비교두 값의 자료형이 다르기 때문에 일치 비교 시 거짓이 반환됩니다.
alert( null === undefined ); // false**동등 연산자
==를 사용하여
null과
undefined를 비교**동등 연산자를 사용해
null과
undefined를 비교하면 특별한 규칙이 적용돼
true가 반환됩니다. 동등 연산자는
null과
undefined`를 '각별한 커플’처럼 취급합니다. 두 값은 자기들끼리는 잘 어울리지만 다른 값들과는 잘 어울리지 못합니다.
alert( null == undefined ); // true
산술 연산자나 기타 비교 연산자 <
, >
, <=
, >=
를 사용하여 null
과 undefined
를 비교null
과 undefined
는 숫자형으로 변환됩니다. null
은 0
, undefined
는 NaN
으로 변합니다.