null과 0의 재밌는 비교

null과 0을 비교했을 때 재밌는 결과를 볼수 있다.

console.log(null > 0); // false
console.log(null == 0); // false
console.log(null >= 0); // true

???
뭔가 이상하다. null이 0보다 크지도 않고
null이 0과 같지도 않은데...
null >= 0 은 true??

이것은 '=='연산자와 다른 연산자의 동작방식이 다르기 때문이다.
>=연산자는 null일때 숫자형으로 형변환되여 0으로 바뀐다.
그래서 0>=0 은 참이 되는데,
동등 연산자(==)에서는 null, undefined값은 형변환이 되지 않는다. 단지 undefined == null일 경우만 true를 반환하고 나머지 그 무엇과 비교해서 false가 나온다.(물론 자기 자신은 제외)

좋은 웹페이지 즐겨찾기