'==' 와 '===' 뭐가 다른거야?

Sunghoman·2022년 9월 23일
3

JavaScript

목록 보기
3/11
post-thumbnail

도대체 뭐가 다른거야?

=

==

===

똑같이 생겼는데 세 가지 다 이름도 다르고 쓰임새도 다르다
오늘은 이걸 알아볼거임

=

"=" 얘는 대입연산자라고 함
말 그대로 값을 때려 박을 때 씀

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




==

"=="는 동등(coercive) 연산자라고 함

두 값이 같은 지 비교할 때 쓴다.

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

a == b //true
a == c //true
b == c //true




===

"==="는 일치(strict) 연산자라고 함

두 값이 같은 지 비교할 때 쓰는 점은
"=="와 똑같지만, 값 뿐만 아니라, 형식까지 같은 지 여부를 반환한다.

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

a == b //true
a == c //true
b == c //false

몇 가지 예시를 통해 알아보자

0 == false //true

0 === false //false
console.log(typeof 0) //number
console.log(typeof false) //boolean

"=="로 비교하면 true를,
"==="fh 비교하면 false를 반환하는걸 볼 수 있다.

그니까, typeof로 찍어봐서 나온 결과까지 동일해야 true를 반환해줌




undefined랑 null은?

그럼 비슷한 듯 다른 이 두 친구를 비교해보자

undefined == null //true

null === undefined //false

console.log(typeof undefined); // undefined
console.log(typeof null); //object

역시나 "=="에서는 true,
"==="에서는 피연산자의 type이 다르기 때문에 false를 반환함




가능한 "=="연산자를 사용하기보다

직접 자료형을 변환하여 "==="연산자를 사용하면
코드 가독성도 좋아질듯

profile
쉽게만 살아가면 개재밌어 빙고

0개의 댓글