(==) !== (===)

sjy·2022년 4월 17일
0

코딩공부

목록 보기
32/49

0. 나와 같다면

자바스크립트에서 =(등호)는 서로 같다는 뜻이 아니다.
등호 왼쪽에 있는 상수나 변수에 오른쪽에 있는 데이터를 할당한다는 뜻이다.

let a;
a= 1

a라는 변수를 선언하고 1을 할당했다.

같은 값을 가졌는지 아닌지 판단하려면 어떻게 해야 하지?

1. == , !=

등호를 연달아 2번== 사용하면 같은 값을 가졌다면 true, 아니라면 false를 반환한다.
!=는 반대로 다른 값을 가지면 true 같은 값을 가지만 false 를 반환한다.

let a = 1;
let b = 1;
a == b; // true;

그런데 문제가 있다. type이 다를 경우 비교 가능한 형태로 알아서 변환시킨다음 비교를 한다.

let a =1;
let b ="1";
a == b; // true;

분명히 type이 다른데 true를 반환하고

null == undefined; // true

nullundefined 모두 falsy이긴 하지만 차이점이 분명히 있는데 서로 같다고 한다.

type도 같은 값을 가졌는지 아닌지 판단하려면 어떻게 해야 하지?

2. ===, !==

그럴땐 등호를 한 번 씩 더 사용하자.
위에서 엄연히 차이점이 있지만 true를 반환하던 두 케이스에서 제대로 false를 반환한다.

let a =1;
let b ="1";
a =-= b; // false;
null == undefined; // false
profile
수학과 코딩

0개의 댓글