비교 연산자는 이름처럼 두 개의 값을 비교한다.
다만 '=='과 '==='의 용법이 각각 다른데, `
'=='
는 동등함( loose equaulity)
, 비교하는 두 개의 값을 강제로 같은 형으로 변환하고 비교를 수행한다. 두 값의 타입이 다르더라도 형 변환된 값이 같다면 true를 반환한다.'==='
은 '일치함(strict equality)'
, 두 개의 값의 타입과 값이 모두 같을 경우에만 true를 리턴한다.그렇기 때문에 정확한 비교를 위해서라면 '=='
보다는 '==='
연산자를 사용하는 것이 좋다!
null
과 undefined
는 모두 존재하지 않는 것을 나타내지만 서로 다른 타입을 가지고 있기 때문에 '==='
를 이용할 경우 false를 리턴한다.
let x // undefined
let y = null // null
console.log(a == null) // true
console.log(a == undefined) // true
console.log(b == null) // true
console.log(b === undefined) // false