✔ 0값은 false와 동일하므로 -> true 출력
0 == false // true
✔ 두 피연산자의 유형이 다르기 때문에 ->false
0 === false // expected output: false
console.log(typeof 0); // expected output: "number"
console.log(typeof false); // expected output: "boolean"
🔍 숫자와 문자열 비교
✔ 자동 유형변화 비교
2 == "2" // expected output: true
✔ 두 피연산자의 유형이 다르기 때문에 ->false
2 === "2" // expected output: false
console.log(typeof 2); // expected output: "number"
console.log(typeof "2"); // expected output: "string"
✔ 자동 유형변화 비교
null == undefined // expected output: true
✔ 두 피연산자의 유형이 다르기 때문에 ->false
null == undefined // expected output: false
console.log(typeof null); // expected output: "object"
console.log(typeof undefined); // expected output: "undefined"
✔ 값이 다르지 않음으로 (자료형 비교 안함)
2 != "2" // expected output: false
✔ 두 피연산자의 유형이 다른 것이 맞기 때문에 -> true
2 !== "2" // expected output: true
console.log(typeof 2); // expected output: "number"
console.log(typeof "2"); // expected output: "string"
변수를 비교하거나 어떤 비교를 위해 항상 '===' 연산자를 사용 할 것을 권장한다.
가능한 '==' 연산자를 사용하지 않도록 하고, 대신 직접 자료형을 변환하여(casting) 보다 코드 가독성을 높이도록 한다.