== 와 ===

아토시스·2022년 8월 8일
0

자바스크립트

목록 보기
6/6

= 는 대입 연산자


var a = 1;
let b = 3;
const c = '5';

==

동등(coercive) 연산자 : 값을 비교해준다

var a = 3;
var b = '3';
let c = 3;
a == b // true
a == c // true
b == c // true

===

일치(strict)연산자

var a = 3;
var b = '3';
let c = 3;
a === b // false
a === c // true
b === c // false

같은 비교 연산자인데 위는 false가 많다.
false가 뜨는 이유는 == 와 === 의 형 변환 차이 때문이다.

==는 양 옆의 값을 비교하기 전에 강제 형 변환(Type Coercion)을 수행한다. 강제 형 변환 과정을 통해 피연산자들을 공통 타입으로 만들고 그 안에 있는 값만을 비교하는 , 느슨한 비교를 한다.

하지만 === 의 경우 , 강제 형 변환 과정을 수행하지 않는 엄격한 비교(strict equality) 이기 때문에 false가 뜨는 것이다.

profile
오늘보다 더 나은 내일이 되길 바라며

0개의 댓글