https://ko.javascript.info/comparison
equality operator (==) | strict equality operator (===) |
0과 false를 구별하지 못한다. ''(빈문자열)과 false를 구별하지 못한다. |
자료형의 동등여부까지 검사한다. |
비교할 때 피연산자를 숫자형으로 바꾼다. '01' == 1 // true |
형 변환 없이 값을 비교할 수 있다. '01' === 1 // false |
피연산자가 undefined나 null일 때 형 변환을 하지 않는다. |
alert('01' == 1); //true
alert('01' === 1); //false
alert(null >= 0); //true
alert(null <= 0); //true
alert(null == 0); //false
alert(null == undefined); //true
alert(undefined >= 0); //false
alert(undefined <= 0); //false
alert(isNaN(undefined)); //true
null은 기타 비교 연산자(>, <. >=, <=)와 연산될 때는 숫자형으로 변환돼 0으로 취급된다.
undefined는 숫자형으로 변환될 때 NaN으로 변환된다. NaN이 피연산자인 경우 비교 연산자는 항상 false를 반환한다.
'정보 > Language' 카테고리의 다른 글
[Java] Exception in thread "main" java.lang.IllegalArgumentException: Comparison method violates its general contract! (2) | 2024.11.04 |
---|---|
[Javascript] Object, Array (0) | 2024.01.09 |
Kotlin: Functions (0) | 2023.08.02 |
Kotlin: Control Flow (0) | 2023.07.31 |
Kotlin : Hello, world! (0) | 2023.07.20 |