간단정리
[JS] 유형 비교 `==`와 엄격한 비교 `===`의 차이점
RyuK-H
2020. 7. 7. 23:23
결론 : ==
유형 비교는 값만 비교, ===
엄격한 비교는 타입도 비교
(1) 0은 false, 그 외 모든 것은 true이다.
// 유형 비교는 값만 비교한다.
// 0은 false 이기에 true가 된다.
// 엄격한 비교는 타입도 비교한다.
// number인 0과 false인 boolean은 타입이 다르다.
0 == false // true
0 === false // false
(2) number와 string 또한, (1)과 같은 결과가 출력 된다.
1206 == "1206" // true
1206 === "1206" // false
(3) null undefined 비교
null == undefined // true
null === undefined // false
(4) NaN
- 이 친구는 역시 무엇가도 비교할 수 없다.
undefined == NaN // false
undefined === NaN // false
null == NaN // false
null === NaN // fasle
NaN == NaN // false
NaN === NaN // false
NaN == "NaN" // false
NaN === "NaN" // false
// NaN 검사 방법
var a = "류크"; // typeof a 는 string
a = Number(a); // a = NaN (숫자가 아니다.)
isNaN(a); // true