Jello's development blog

Jello's development blog

Javascript '=='와 '===' 연산자 차이

’==’와 ‘===’의 차이

Javascript에는 다른 언어와는 달리 ==연산자 말고도 ===연산자가 존재한다. 이들의 차이는 무엇일까?

==연산자는 동등 연산자로, 피연산자가 서로 다른 타입이면 타입을 강제로 변환하여 비교한다. 하지만 형 변환이 어떻게 되는지 하나하나 외워서 사용하는 것은 복잡하기만 할 뿐이다.

0 == ''     //true
0 == '0'     //true
1 == true     //true
false == '0'    //true
null == undefined    //true
false == null    //false
false == undefined    //false

하지만 ===연산자는 일치 연산자로, 두 피연산자를 더 정확하게 비교한다.

0 === ''     //false
0 === false    //false
1 === true     //false
NaN === NaN     //false
null === undefined     //false

따라서 특별한 경우가 아니라면, ==보다는 ===를 쓰는 것을 권장한다.