자바스크립트를 처음 공부했을 때 가장 생소했던 것 중 하나는 비교 연산자 '==='였다.
일반적으로 다른 언어에서 비교연산자로 '=='만 쓰는 것과는 달리,
자바스크립트는 비교연산자로 '=='(동등 연산자)와 '==='(일치 연산자)를 구분해서 사용한다.
쉽게 두 연산자의 차이를 설명하면
'==' 는 값만 비교하지만,
'===' 는 값과 자료형을 함께 비교한다.
값만 비교한다는 것이 잘 이해가 안 될 수 있는데, 이는 자바스크립트의 특성 때문이다.
예를 들어, 자바스크립트에서는 1 == "1" 의 결과는 true이다.
자바스크립트에서 '=='의 경우 알아서 비교하는 내용의 형식을 변환해서(형변환 비교) 비교한다.
그렇기 때문에, 자바스크립트는 문자열 "1"을 숫자 1로 변환해서 비교해버린다.
따라서, 다른 언어에서 (C 등등) 비교 연산자로 '=='를 사용하듯이 자바스크립트에서 자료형까지 함께 비교하려면
'=='가 아닌 '==='를 사용해야 한다.
같은 원리로 '!=' 와 '!=='를 비교해보면
'!='는 값만 비교하고,
'!=='는 값과 자료형을 함께 비교한다.
요약하자면, 다른 언어에서 ==와 !=을 사용하는 것처럼 자바스크립트에서 비교연산자를 사용하려면
'==='와 '!=='를 사용하는 것이 권장된다.
아래 사진은 자바스크립트에서의 '=='과 '==='의 사용 결과 예시이다.
'WEB > 💡 Javascript' 카테고리의 다른 글
[Javascript] 마이크 변경과 볼륨 조절하기 (0) | 2024.03.23 |
---|---|
[Javascript] 역따옴표(백틱)을 이용한 템플릿 리터럴(template literal) (0) | 2022.07.27 |
[Javascript] 아코디언 메뉴 만들기 (접기/펼치기 기능 구현) (0) | 2022.07.20 |
[Javascript] getElementsByClassName과 querySelectorAll의 차이 (HTMLCollection과 NodeList의 차이) (0) | 2022.07.14 |
[Javascript] DOMContentLoaded와 onload의 차이 (0) | 2022.07.14 |