true
이면 true
를 반환하고, 그렇지 않으면 false
를 반환합니다.console.log( true || true ); // true
console.log( false || true ); // true
console.log( true || false ); // true
console.log( false || false ); // false
피연산자가 모두 false
인 경우를 제외하고 연산 결과는 항상 true
입니다.
피연산자가 불린형이 아니면, 평가를 위해 불린형으로 변환됩니다.
숫자 1
은 true
로, 숫자 0
은 false
로 바뀝니다.
if (1 || 0) { // if( true || false ) 와 동일하게 동작
console.log( 'truthy!' );
}
OR"||"
연산자를 여러 개 체이닝(chaining) 하면 첫 번째 truthy를 반환합니다. 피연산자에 truthy가 하나도 없다면 마지막 피연산자를 반환합니다.
let firstName = "";
let lastName = "";
let nickName = "바이올렛";
console.log( firstName || lastName || nickName || "익명"); // 바이올렛
true
를 반환합니다. 그 외의 경우는 false
를 반환합니다.&&
의 우선순위가 ||
보다 높습니다.console.log( true && true ); // true
console.log( false && true ); // false
console.log( true && false ); // false
console.log( false && false ); // false
예시
let hour = 12;
let minute = 30;
if (hour == 12 && minute == 30) {
console.log( '현재 시각은 12시 30분입니다.' );
}
console.log( 1 && 2 && null && 3 ); // null
console.log( 1 && 2 && null && 3 ); // 모두 truthy이므로 3 반환
true
/ false
)으로 변환합니다.역을 반환
합니다.&&
, ||
보다 먼저 실행됩니다.예시
console.log( !true ); // false
console.log( !0 ); // true
NOT을 두개 연달아 사용(!!)하면 값을 불린형으로 변환할 수 있습니다.
console.log( !!"non-empty string" ); // true
console.log( !!null ); // false
내장 함수Boolean
을 사용하면 !!
을 사용한 것과 같은 결과를 도출할 수 있습니다.
console.log( Boolean("non-empty string") ); // true
console.log( Boolean(null) ); // false