console.log( !!1 ); // true
console.log( Boolean(1) ); // true
!! not연산자를 두번사용하면 어떻게 될까?
1. 피연산자가 Boolean형으로 변환후 부정연산을 한다.
2. 결과를 다시한번 부정연산을 한다.
피연산자를 Boolean형으로 형변환결과와 같다.
따라서 실제로 2번 부정연산은 하지 않을 것이다.
let obj = new Boolean(1); // 객체생성
let bool = Boolean(1); // 원시값생성