javascript는 다른 언어와 달리 ===
비교 연산자가 존재한다. 그렇다면 ==
와의 차이점은 무엇일까?
예를 들어 숫자형 1과 문자형 "1"을 비교했을때, ==
는 값만 비교하는 대신, ===
는 값뿐만 아니라 두 변수의 자료형도 확인한다. 즉, ==
는 'true'를 반환하고, ===
는 'false'를 반환한다.
==
연산자는 동등 연산자로, 변수가 서로 다른 타입이면 타입을 강제로 변환하여 비교한다.
0 == false //true
1 == "1" //true
1 != "1" //false
null == undefined //true
null == false //false
false == undefined //false
===
연산자는 일치 연산자로, 두 변수를 더 정확하게 비교한다.
0 === false //false
1 === "1" //false
1 !== "1" //true
null === undefined //false
NaN === NaN //false
==
연산자 : 두 변수의 값 비교
===
: 엄격한 비교, 두 변수의 값, 자료형 비교
두 값을 비교할 때는 가능한 한 ===
연산자를 사용하도록 하자❗️