brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Aug 16. 2023

자바스크립트, '=='는 알겠는데 '==='는 뭐야?

출퇴근길에 공부하는 자바스크립트1


다른 언어를 먼저 공부를 하고 자바스크립트를 접하고 가장 먼저 의문이 들었던 것이 있다. 바로 '=='는 알겠는데 '==='는 뭐 하는 녀석이지?라는 것이었다. 자바스크립트는 비교 연산자를 조금 더 세분화시켜서 사용하고 있었던 것이다.


'=='는 동등 비교 연산자로 x==y의 값이 같다는 것을 의미한다. '==='는 일치 비교 연산자로 x===y의 값과 타입이 같음을 의미한다. 즉, 동등비교(==) 연산자는 좌항과 우항을 비교할 때 암묵적으로 타입을 변환하여 타입을 일치시킨 후 값을 비교한다. 반일치비교(===) 연산자는 좌항과 우항의 타입도 같고 값도 같은 경우에 true를 반환한다. 암묵적인 타입변환이 없다는 것이다.


아무래도 동적 타이핑의 영향으로 혼돈이 올 수 있기 때문에 이렇게 동등 비교(==) 연산자와 일치 비교(===) 연산자를 구분지어서 사용하고 있는 듯하다.

매거진의 이전글 자바스크립트, 동적 타이핑이란?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari