C, C++ 같은 Low-Level Language를 배우다 자바스크립트를 처음 배우게 되면 '==='
라는 새로운 연산자를 만나게 된다. 하지만 자바스크립트에선 '=='
과 '==='
은 매우 다른 기능을 하는 연산자이다.
두 피연산자의 자료형을 일치시킨 후, 비교를 수행하는 연산자를 느슨한 동치 연산자
라고 합니다.
1 == 1 // true
"1" == 1 // true
1 == '1' // true
0 == false // true
0 == null // false
0 == undefined // false
null == undefined // true
위의 예시와 같이 느슨한 동치 연산자는 자료형을 일치 시킨 후 비교를 합니다.
자료형 변환 없이 두 피연산자가 엄격히 같은지 판별하는 연산자를 엄격한 동치 연산자
라고 한다.
3 === 3 // true
3 === '3' // false
위의 예시와 같이 엄격한 동치 연산자는 느슨한 연산자와 다르게 자료형 또한 같아야 합니다.
https://velog.io/@filoscoder/-%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4-oak1091tes#-%EC%99%80-%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%A0%90
https://developer.mozilla.org/ko/docs/Web/JavaScript/Equality_comparisons_and_sameness