[JS교양] null == undefined = true

동등 비교(equality)와 일치 비교(identity)

JavaScript는 두 값끼리 비교할 때 "동등 비교(==)"와 "일치 비교(===)"의 개념이 있다. 

 

 

동등연산자(equality operator)

  • 동등연산자(`'=='`) 를 사용하면 두 값이 같은 값으로 변환 될 수 있는지를 검사한다. ex) `"3"` == `3` = `true`
  • `null`과 `undefined` 는 둘 다 "값이 없음" 을 나타내는 것으로 취급한다.
  • 고로 동등연산자를 사용하면 `true`가 나온다. 

 

일치연산자(identity operator)

  • 일치연산자(`'==='`) 는 타입과 값을 모두 비교한다. ex) `"3"` === `3` = `false`
  • `null`과 `undefined` 는 타입은 다르기 때문에 `false` 가 나온다.
  • 예상하지 못한 버그를 방지하려면 웨~엔만하면 일치 비교를 사용하자. 

댓글

Designed by JB FACTORY