본문 바로가기

퍼블리싱/jQeury, Javascript

== 과 ===의 차이

우리는 스크립트 코드에서 ==를 보게 된다

그런데 ==는 알겠는데 ===는 무엇일까?


다음의 코드를 보자


var a = 1; // number
var b = "1"; // string

console.log( a==b ); // true 가 찍힘
console.log( a===b ); // false가 찍힘


위처럼 변수 a는 number고 b는 string이다.

왜 넘버고 스트링이냐, 그냥 둘다 1이 아니냐고 묻는 사람이 있다면,

다음처럼 변수 a, b의 타입을 찍어보자


console.log(typeof a); // number가 찍힘
console.log(typeof b); // string이 찍힘


이렇게 두 변수는 타입이 다르고, 완전 다른 값이다.

그런데 그냥 ==으로 비교를 하게되면 암묵적 형변환이 일어나 두 변수 값이 같다고 나온다.

하지만 === 세개로 비교를 하게되면 두개의 표면적 값뿐만 아니라 타입도 비교를 하게 되므로 false가 찍히게 된다.


고로 앞으로는 == 보다는 ===을 사용하도록 해야할 것이다