Programming Language/Javascript, ...

[Javascript] 동등 연산자 ==

Ma_Sand 2023. 4. 8. 19:29
반응형

동등 연산자 ==

==는 동등 연산자(Equality)다.

동등 연산자는 두 개의 피연산자가 동일한지 확인하며, Boolean값을 반환한다.

 

 

(1) 타입 변환 없이 비교

   1) String : 두 피연산자의 문자 순서와 문자열이 동일   true를 반환

   2) Number : 두 피연산자의 값이 동일   true를 반환. +0과 -0은 동일한 값으로 취급. 어느 한쪽이 NaN일 경우 false를 반환

   3) Boolean : 두 피연산자가 모두 true이거나 false   true를 반환

1 == 1;       // true
"ex" == "ex"  // true

 

 

(2) 타입 변환하여 비교

   : 두 개의 피연산자의 타입이 다를 경우, 비교하기 전에 동일한 타입으로 변환시킨다.

    1) 숫자와 문자열을 비교 문자열을 숫자로 변환시킴

    2) 한 피연산자가 Boolean  Boolean 피연산자가 true면 1로 변환, false면 +0으로 변환

    3) 한 피연산자가 객체이고 다른 피연산자가 숫자/문자열  객체를 valueOf() / toString()을 사용하여 기본 데이터 타입으로 변환

"1" == 1;           // true
1 == "1";           // true
0 == false;         // true
0 == null;          // false
0 == undefined;     // false
0 == !!null;        // true
0 == !!undefined;   // true
null == undefined;  // true

const num1 = new Number(5);
const num2 = new Number(5);
num1 == 3;     // true
num1 == num2;  // false

 

cf) 일치 연산자(===)

  - 타입 변환을 시도하지 않는다.

   - 다른 타입을 가진 피연산자는 다르다고 판단한다.

 

 

 

출처: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Equality

반응형