논리 연산자

||(OR), &&(AND), !(NOT)이 있다.

|| (or)

result = a || b;

인수 중 하나라도 true이면 true를 반환하고, 그렇지 않으면 false를 반환한다. (피연산자 모두 false인 경우가 아니라면 true)

alert( true || true ); // true
alert( false || true ); // true
alert( true || false ); // true
alert( false || false ); // false

첫 번째 truthy를 찾는 or 연산자

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이므로, 마지막 값을 반환함)

변수 또는 표현식으로 구성된 목록에서 첫 번째 truthy 얻기

여러 식에서 처음으로 truthy인 값을 반환하므로, 이를 사용하여서 아래와 같이 사용할 수 있다.

let firstName = "";
let lastName = "";
let nickName = "바이올렛";
alert( firstName || lastName || nickName || "익명"); // 바이올렛

(추가) 기본값으로 사용하기도 한다.

// 만약 값이 존재하지 않을 경우 기본값을 사용한다.
const name = usename || "익명"

단락 평가

하나의 조건문처럼 사용이 가능하다. 이전에 있는 모든 단락(피연산자)들이 falsy인 경우 마지막 문장을 실행해라하는 것으로

true || alert("not printed");
false || alert("printed");

&& (and)