- 두 데이터값의 타입이 다를 경우
-> 자동으로 데이터의 타입을 변환 후 값을 비교
- 타입을 비교하지 않으므로 === 연산자에 비해 느슨
10 == 10 // true
10 == '10' // true
true == 1 // true
true == '1' // true
true == 'true' // false
null == undefined // true
- 타입을 변환하지 않으므로 == 연산자에 비해 비교하는 방식이 엄격
-> 즉, === 연산자는 타입이 다르면, false를 반환
10 === 10 // true
10 === '10' // false
true === 1 // false
true === 'true' // false
null === undefined // false
NaN === NaN // false
// NaN 값은 자기자신을 포함하여 어떠한 값과도 일치하지 않음
// -> 즉, === 연산자에 NaN 값이 존재하는 경우 항상 false
// -> 웬만하면 === 연산자를 써주는 것이 좋음