자바스트립트에서는 두 값이 동일한지를 확인하는 데, 두 연산자를 모두 사용할 수 있다. 두 연산자의 차이는 '==' 연산자는 비교하려는 피연산자의 타입이 다를 경우에 타입 변환을 거친 다음 비교한다. 반면에 '===' 연산자는 피연산자의 타입이 다를 경우에 타입을 변경하지 않고 비교한다.
console.log(1 == '1'); // 출력값 true
console.log(1 === '1'); // 출력값 false
!!의 역할은 피연산자를 불린값으로 변환시킨 것이다.
console.log(!!0) // false
console.log(!!1) // true
console.log(!!'') // false
console.log(!!'string') // true
console.log(!!null) // false
console.log(!!undefined) // false
console.log(!!{}) // true !!주의 객체는 비어도 true
console.log(!![1,2,3]) //true
주의해야 할점은 객체의 경우 값이 비어있어도 true를 반환한다는 점이다.
인사이드 자바스크립트 68p