자료 출처 - 모던 JavaScript 튜토리얼

== ❓ ===

JS를 배우면 ==(equality operator)과 ===(strict equality operator)을 만나게 된다. JS의 기초적인 연산을 배우다가 비교 연산을 만나게 되는 것이다.
그리고 흔히 ==로는 같다고 나오지만 ===로는 같지 않다고 나오는 예제를 보게 된다. 그러고 나면 ===를 쓰는 것을 더 권장합니다 라는 말을 듣고 그렇구나 하고 넘기게 된다.
사실 강의하시는 분은 잘 알려주셨는데 내가 집중 못하고 기억을 못하는 것이다.

==, === 예시

1 == "1"
1 === "1"

과 같은 예시를 만나게 된다. 위는 참이고 아래는 거짓이다.

또,

null == undefine
null === undefine

과 같은 예시도 보게 된다. 역시 위는 참이고 아래는 거짓이다.

아니 그래서 뭐가 엄격한데❓

영어 이름에서도 === 앞에 strict이 붙어서 더 엄격한 비교 연산이라는 것을 알 수 있다. 그런데 뭐가 엄격한 것일까?
==과 === 차이는 변수 형에 있다. ===는 변수형까지 검사한다. 변수형이 다르면 내용과 무관하게 같지 않은 것이다. 반면 ==는 변수형이 달라도 내용이 같으면 같다고 해준다.
즉, ==는 형 변환이 일어나고, ===는 형 변환이 일어나지 않는다.

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN