반응형
null과 undefined 간의 변환은 느슨한 동등 비교 == 이 암시적 강제변환을 하는 예이다.
ES5 에 아래와 같이 명시되어 있다고 한다.
x가 null이고 y가 undefined면 true를 반환한다.
x가 undefined이고 y가 null면 true를 반환한다.
null과 undefined를 느슨한 동등 비교(==)하면 서로에게 타입을 맞춘다.
-> null과 undefined는 느슨한 동등 비교 시 상호 간의 암시적인 강제변환이 일어나므로 비교 관점에서 구분이 되지 않는 값으로 취급된다.
'null <-> undefined' 강제변환은 안전하고 예측 가능하며, 어떤 다른 값도 비교 결과 긍정 오류(False Positive) 할 가능성이 없다. null과 undefined를 구분되지 않는 값들로, 결국 동일한 값으로 취급하는 강제변환은 권장된다.
null과 undefined 자신들끼리 비교 결과가 true이므로, 이외의 값들과 비교했을 때 결과값이 true일 가능성은 없다.
반응형
'개발 및 관리 > Javascript' 카테고리의 다른 글
자바스크립트 값 변환, Falsy 비교 (0) | 2022.04.11 |
---|---|
자바스크립트 값 변환, 객체 -> 비객체 (0) | 2022.04.11 |
자바스크립트 값 변환, 느슨한/엄격한 동등 비교 (0) | 2022.04.10 |
자바스크립트 값 변환, &&와 || 연산자 (0) | 2022.04.10 |
자바스크립트 값 변환, ToBoolean (0) | 2022.04.10 |