[자바스크립트 개발자라면 알아야 할 33가지 개념] #5 == vs === (번역)

이윤우·2022년 11월 7일
0

JavaScript

목록 보기
18/34
post-thumbnail

=== 연산자

자바스크립트에서 === 연산을 사용할 때, 우리는 엄격한 동등성을 비교합니다.
엄격한 동등성의 의미는 타입이 둘 다 같아야 한다는 이야기입니다.

5 === 5 // true
77 === '77' // false (숫자 타입 vs 문자열 타입)
false === 0 // false (다른 타입, 다른 값)

===타입이 모두 같아야만 true를 반환한다는 것입니다.

== 연산자

자바스크립트에서 == 연산자를 쓰는 목적은 느슨한 동등 비교를 위함입니다.
== 연산자도 강제 형변환을 수행합니다.

77 == '77' // true
false == 0 // true

Falsy 값의 비교

1) false, 0 그리고 ""

false == 0 // true
0 == "" // true
"" == false // true

2) null 그리고 undefined

null == null // true
undefined == undefined // true
null == undefined // true
  1. NaN
NaN == null // false
NaN == undefined // false
NaN == NaN // false

우리가 알아야 할 것

  • 우리가 본대로, 자바스크립트에서 강제 형변환은 어디로 튈지 모릅니다. 당신이 자바스크립트와 매우 친숙하지 않다면, 느슨한 동등 연산자는 하나의 가치있는 선택이라기 보단 당신에게 엄청난 두통을 선사하는 녀석으로 변할 것입니다. 6가지 falsy 값을 암기해두세요. 그리고 그들에 관련된 다양한 규칙들을 기억하세요. 암기한다면 느슨한 동등 연산자를 이해하는데 아주 큰 도움이 될 것입니다.
  • === 연산자는 == 연산자보다 좋습니다. 동등함을 비교해야 할 때는 === 연산자를 쓰는 편이 훨씬 좋을 것입니다. 타입과 값을 비교함으로써 우리는 우리가 피연산자들이 진정으로 동등한지를 비교한다고 확신할 수 있습니다.

0개의 댓글