동등 연산자
, ==
, Equality operator
동등 연산자는 두 개의 피연산자가 동일한지 확인하고, 불린값을 반환한다. 일치 연산자와는 달리 다른 타입의 피연산자들끼리의 비교도 시도한다.
valueOf()
나 toString()
을 사용해 기본 데이터로 변환1 == 1; // true
"hello" == "hello"; // true
"1" == 1; // true
1 == "1"; // true
0 == false; // true
0 == null; // false
0 == undefined; // false
const object1 = {"key": "value"}
const object2 = {"key": "value"};
object1 == object2 // false
object2 == object2 // true
false
가 반환된다.일치 연산자
, ===
, Strict equality operator
일치 연산자도 두 개의 피연산자가 동일한지 확인하고, 불린값을 반환한다. 다만 동등 연산자와의 가장 큰 차이점은 일치 연산자는 형 변환 없이 다른 유형은 항상 다른 것으로 간주한다.
console.log("hello" === "hello"); // true
console.log("hello" === "hola"); // false
console.log(3 === 3); // true
console.log(3 === 4); // false
console.log(true === true); // true
console.log(true === false); // false
console.log(null === null); // true
console.log("3" === 3); // false
console.log(true === 1); // false
console.log(null === undefined); // false
동등 연산자는 일치 연산자와 달리 각 피연산자의 타입이 다르다면 비교 하기 전 형 변환이 이루어진다.
웬만하면 비교할 때 오류를 줄이려면 일치 연산자를 사용하도록 하자.