자바스크립트가 값을 강제적으로 변환시킨다
자바스크립트에서 === 연산을 사용할 때, 우리는 엄격한 동등성을 비교합니다.
엄격한 동등성의 의미는 타입과 값이 둘 다 같아야 한다는 이야기입니다.
== 표시 2개의 동등 비교연산자우리가 자바스크립트에서 ==연산자를 쓰는 목적은 느슨한 동등 비교를 위함입니다.
==연산자도 강제 형변환(type coercion) 을 수행합니다.
강제 형변환(type coercion) 이란 동등 연산자로 비교하기 전에 피연산자들을 공통 타입(common type)으로 만드는 행위를 말합니다.
이제 뒤의 예제들을 통해 falsy 값의 간단한 규칙을 알아볼 수 있을 것입니다. 자바스크립트로 자주 작업을 한다면 다음과 같은 내용들은 항상 기억하고 계시는 것이 좋습니다.
false, 0 그리고 ""아래의 3가지 falsy 값을 느슨한 동등 연산자로 비교할 때, falsy 값은 항상 동일하다는 결과를 나타냈습니다. 그게 가능했던 이유는 앞의 3가지 falsy 값은 false 형태로 강제 형변환이 됐기 때문이죠.
false == 0
// true
0 == ""
// true
"" == false
// true
null 그리고 undefinednull과 undefined를 비교할 때, 그들은 서로 같으며 자기 자신과도 같습니다.
null == null
// true
undefined == undefined
// true
null == undefined
// true
만일 null을 다른 값과 비교하고 싶다면, 아마 false가 나올 확률이 높습니다.