자바스크립트에는 추상적 같음 비교(이중 등호, 동등 연산자)와 엄격한 같음 비교(삼중 등호, 일치 연산자)가 있다.
가장 큰 차이점은 이중 등호는 두 값을 비교할 때 자동으로 형변환하여 같음을 비교하지만, 삼중 등호는 형변환을 수행하지 않고 비교한다.
이중 등호 연산자의 예시를 보자.
0 == false //true
"" == false //true
"" == 0 //true
"0" == 0 //true
[1,2] == "1,2" //true
new String('hello') == 'hello' //true
null == undefined //true
이중 등호 연산자는 자동으로 형변환을 하고 비교하므로 위 예시는 모두 true를 return한다.
하지만, 삼중 등호 연산자일 경우에 위 예시들은 모두 타입이 다르기 때문에 모두 false를 return할 것이다.
값을 비교할 때 삼중 등호 연산자를 사용하는 것을 습관화하는 것이 혹시 모를 예상치 못한 상황을 막을 수 있는 좋은 방법인 것 같다.
'개발 > Javascript' 카테고리의 다른 글
정규표현식으로 문자열 띄어쓰기와 공백 모두 제거하는 방법 (replace all line breaks javascript) (0) | 2020.02.27 |
---|---|
자바스크립트로 구현한 싱글톤 패턴 (Singleton Patterns) (0) | 2020.02.25 |
Web Storage API(localStorage, sessionStorage)그리고 Cookie (0) | 2020.02.18 |
자바스크립트 호이스팅 (Javascript hoisting) (0) | 2020.02.17 |
자바스크립트에서 undefined를 체크하는 가장 좋은 방법 (0) | 2020.02.14 |
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.