반응형
동등 연산자 ==
==는 동등 연산자(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
반응형