두 피연산자 중 하나라도 "참(truthy)"이면 true를 반환하고,
만약 두 피연산자 모두 "거짓(falsy)"이면 false를 반환
Falsy 값:
false, 0, -0, 0n (BigInt에서의 0), "", null, undefined, NaN.Truthy 값:
falsy 값이 아닌 모든 값.
즉, 불리언 컨텍스트에서 true로 평가되는 모든 값.
|| 연산자의 작동 방식
|| 연산자가 단순히 불리언 값만을 반환하지 않고,
피연산자 중 하나의 "실제 값"을 반환한다는 것을 의미한다.
예)
console.log(true || false); // 출력: true console.log(false || "hello"); // 출력: "hello" console.log('' || "Falsy"); // 출력: "Falsy" console.log(0 || 100); // 출력: 100
예)
function log(message) { message = message || "No message provided"; console.log(message); } log(); // 출력: "No message provided" log("Hello, World!"); // 출력: "Hello, World!"
여기서 message 매개변수가 falsy 값(undefined, 빈 문자열 등)으로 평가될 경우,
"No message provided"라는 기본값을 사용
|| 연산자는 코드의 간결성을 높이고,
값이 정의되지 않았거나 예상치 못한
falsy 값이 입력될 경우에 대비해 기본값을 제공하는 데 효과적이다.