본문 바로가기
Language/JavaScript

[JS] == vs. === JavaScript 개발자라면 알아야 하는 개념

by developerBeluga 2022. 10. 7.
728x90
반응형

 

 

궁금증

지금가지 ==만 사용해 봤는데 Array equal에 대해서 어제 포스팅을 위해 자료 검색을 하다가 신기한 코드를 발견했다.

https://bcoding-lab.tistory.com/345

 

[JS] 자네, 두 Array를 비교하고 싶지 않은가? feat.객체 비교하는 법

문제 Type 검증과 관련해서 A라는 객체와 B라는 객체가 같은가를 비교하고 싶었다. 정말 평소처럼 아래와 같은 코드를 작성했다. if (i.name === { test: 'test', tset: 'tset' }) { console.log('yes!'); } i.nam..

bcoding-lab.tistory.com

 

'' == false   // true
'' === false  // false

 

아니.. 둘 다 '같다'를 의미하는 연산자 아니었나..?

하지만 이 코드를 터미널로 진짜인지 의심하며 돌려봤다.

(터미널에 node라고 치면 바로 javascript로 코딩 가능하다)

 

진짜다❗️

아니 왜 다르게 나오는지 궁금해졌다.

 

 

이유

우선 이름으로 유추할 수 있다.

==은 Equal Operator이다.

===은 Strict Equal Operator이다.

Strict는 엄격한이라는 뜻을 가졌다.

 

즉, ===은 ==보다 엄격한 동격 연산자라는 것이다!

엄격하기 때문에 값 뿐만 아니라 값의 Type도 동일해야 한다.

'' === false이었던 이유는 값은 값지만 ''의 type은 string, false의 type은 boolean이기 때문이다.

 

 

 

 

 

 

 

 

 

728x90
반응형

댓글