본문 바로가기
JavaScript

JavaScript 동등연산자'=='와 일치연산자'==='

by 하이방가루 2022. 1. 19.
728x90
반응형

동등연산자 '=='

자료형이 다른 피연산자들을 계산할 때

숫자형으로 변환하여 계산한다.

숫자 0과 문자열 "0"을 불린형으로 바꾸면

숫자 0은 false, 문자열 "0"은 true이지만

두 피연산자를 동등연사자로 직접 비교하면

true로 서로 동등하다고 인식합니다.

let a = 0;

let b = "0";

alert( Boolean(a) ); // false

alert( Boolean(b) ); // true

alert( a==b );        // true

*주의*

예외적으로 null과 undefined를 비교할 경우

null과 undefined는 각각 숫자형으로 변환할 때

0과 NaN으로 다르게 변환되지만

동등연산자'=='는 둘을 같다고 판단한다.

다른 비교 연산자에서는 제대로 숫자형으로 변환되어 계산된다.

alert( null > 0 );  // false

alert( null == 0 );  // false

alert( null >= 0 );  // true

alert( undefined > 0 );  // false

alert( undefined == 0 );  // false

alert( undefined >= 0 );  // false

일치연산자 '==='

일치연산자는 자료형의 동등 여부까지 검사한다.

따라서 자료형이 다르면 false를 반환한다.

728x90
반응형

댓글