===와 ==의 차이는?

Youngwan Cho·2021년 2월 23일
0

서론

필자는 유니티엔진을 사용해 게임 개발을 주로 하다가 보니까 C#을 주로 사용했는데, 백엔드서버나 프론트엔드 작업을 하면서 자바스크립트에 "===" "==" 두 가지가 서로 다르게 작동하는걸 봤다. 작업 당시에 찾아보고 사용하기는 했지만 블로그에 기록을 남겨 두면 좋을거 같아, 이번에 남기기로 했다!

본론

자바스크립트에는 2개의 동등연산자가 존재한다 == ,  === 이 둘의 차이는?

Equality : (==)
Strict equality : (===)

==연산자는 피연산자가 서로 다른 타입이면 타입을 강제로 변환하여 비교한다.

console.log(1 == 1);
// expected output: true

console.log('hello' == 'hello');
// expected output: true

console.log('1' ==  1);
// expected output: true

console.log(0 == false);
// expected output: true

 === 연산자는 변수의 타입까지 비교하여 연산한다

console.log(1 === 1);
// expected output: true

console.log('hello' === 'hello');
// expected output: true

console.log('1' ===  1);
// expected output: false

console.log(0 === false);
// expected output: false

주로 엄격한 동등 연산자 === 를 사용하는게 좋을거 같고, == 를 활용해서 형 변환 없이 간단하게 작성할 수 있다. 그래도 명시적으로 형 변환을 하는게 읽는 사람 입장에서 좀 더 이해하기 쉬울거 같다

참조

0개의 댓글