console.log(Boolean(null)); // false
NOT
> &&
> ||
alert( alert(1) || 2 || alert(3) );
alert 창에는 1 과 2 가 차례로 출력된다.
alert 메서드는 값을 반환하지 않기 때문에 처음으로 alert 창에 1이 뜨고 나면 undefined 를 반환하여 OR 연산자는 다음 피연산자를 평가하게 된다. 2 는 true 이므로 alert 2 가 되고 alert(3) 은 평가되지 않는다.
alert( alert(1) && alert(2) );
alert 창에는 1, undefined 가 차례로 출력된다.
첫 번째 피연산자는 undefined 를 반환하기 때문에 falsy 한 값이다. 따라서 alert(1) 이 먼저 실행되고 undefined 값이 alert 로 실행된다. alert(2) 는 평가되지 않는다.
alert( null || 2 && 3 || 4 );
&& 가 || 보다 우선하므로 2 && 3
이 먼저 평가된다. 2 && 3
의 값은 3이다. alert(null || 3 || 4) 의 결과로는 3이 출력된다.