• OR "||" 연산자를 여러 개 체이닝(chaining) 하면 첫 번째 truthy를 반환합니다.
피연산자에 truthy가 하나도 없다면 마지막 피연산자를 반환
alert( 1 || 0 ); // 1 (1은 truthy임)
alert( null || 1 ); // 1 (1은 truthy임)
alert( null || 0 || 1 ); // 1 (1은 truthy임)
alert( undefined || null || 0 ); // 0 (모두 falsy이므로, 마지막 값을 반환함)
-------------------------------------------------------------------------
let firstName = "";
let lastName = "";
let nickName = "바이올렛";
alert( firstName || lastName || nickName || "익명"); // 바이올렛
모든 변수가 falsy이면 "익명"이 출력되었을 겁니다.
• AND 연산자는 첫 번째 falsy를 반환합니다.
피연산자에 falsy가 없다면(모든 피연산자가 true로 평가되는 경우) 마지막 값을 반환.
alert( 1 && 2 && null && 3 ); // null
alert( 1 && 2 && 3 ); // 마지막 값, 3
false
0
NaN
undefined
Null
'' (빈문자열)