자바스크립트 논리합(OR)

자바스크립트에서는 논리합(OR) 연산자를 사용하여 여러 조건 중 하나 이상이 참인지를 판별할 수 있습니다. 논리합 연산자는 || 기호로 표시됩니다.

논리합 연산자는 두 개의 피연산자를 가지며, 각각의 피연산자는 불리언(Boolean) 값(true 또는 false) 또는 불리언으로 평가 가능한 값이어야 합니다. 연산자가 평가되면, 두 개의 피연산자 중 하나 이상이 true인 경우 전체 식은 true로 평가됩니다. 모든 피연산자가 false인 경우에만 false로 평가됩니다.

예제

아래는 논리합 연산자를 사용한 예제입니다.

let age = 25;
let hasLicense = true;

if (age >= 18 || hasLicense) {
  console.log("성인이거나 운전면허가 있습니다.");
} else {
  console.log("미성년자이며 운전면허가 없습니다.");
}

위 예제에서는 age 변수가 18 이상인 경우나 hasLicense 변수가 true인 경우에 “성인이거나 운전면허가 있습니다.”라는 메시지를 출력합니다. 그렇지 않은 경우에는 “미성년자이며 운전면허가 없습니다.”라는 메시지를 출력합니다.

논리합 연산자의 동작

논리합 연산자는 첫 번째 피연산자를 평가한 결과가 true이면, 두 번째 피연산자는 평가하지 않고 true로 평가됩니다. 이를 단축 평가(short-circuit evaluation)라고 합니다. 이것은 성능을 향상시킬 수 있는 장점이 있습니다.

예를 들어, 아래 예제에서는 getData 함수가 전달된 매개변수 없이 호출되기 때문에, 두 번째 피연산자는 평가하지 않습니다.

let data = getData() || "Default Data";

만약 getData 함수가 true를 반환한다면, 변수 datagetData의 반환값이 됩니다. 그렇지 않은 경우에는 “Default Data” 문자열이 data에 할당됩니다.

요약

자바스크립트 논리합(OR) 연산자는 두 개의 피연산자 중 하나 이상이 true인지를 판별하는데 사용됩니다. 단축 평가라는 개념을 이용해서 코드를 간결하고 효율적으로 작성할 수 있습니다.