자바스크립트에서 ===
연산을 사용할 때, 우리는 엄격한 동등성을 비교합니다.
엄격한 동등성의 의미는 타입과 값이 둘 다 같아야 한다는 이야기입니다.
5 === 5 // true
77 === '77' // false (숫자 타입 vs 문자열 타입)
false === 0 // false (다른 타입, 다른 값)
===
은 타입과 값이 모두 같아야만 true
를 반환한다는 것입니다.
자바스크립트에서 ==
연산자를 쓰는 목적은 느슨한 동등 비교를 위함입니다.
==
연산자도 강제 형변환을 수행합니다.
77 == '77' // true
false == 0 // true
1) false, 0 그리고 ""
false == 0 // true
0 == "" // true
"" == false // true
2) null 그리고 undefined
null == null // true
undefined == undefined // true
null == undefined // true
NaN == null // false
NaN == undefined // false
NaN == NaN // false
===
연산자는 ==
연산자보다 좋습니다. 동등함을 비교해야 할 때는 ===
연산자를 쓰는 편이 훨씬 좋을 것입니다. 타입과 값을 비교함으로써 우리는 우리가 피연산자들이 진정으로 동등한지를 비교한다고 확신할 수 있습니다.