|| 논리 OR 연산자

expression1 || expression2

expression1(연산자의 왼쪽 표현식)을 평가한 후 이 표현식이 true이면 true를 반환합니다. expression1이 false인 경우에는 expression2(연산자의 오른쪽 표현식)가 평가됩니다. expression2가 false로 평가되면 최종 결과는 false이고, 그렇지 않으면 true입니다.

함수 호출을 expression2로 사용하는 경우 expression1이 true로 평가되면 함수를 호출해도 실행되지 않습니다.

두 표현식 중 하나가 true로 평가되는 경우 결과는 true이며, 두 표현식이 모두 false로 평가되는 경우에만 false입니다. 논리 OR 연산자와 다른 피연산자를 함께 사용할 수 있으며 임의의 피연산자가 true로 평가되면 그 결과는 true입니다.

지원 버전: ActionScript 1.0, Flash Lite 1.0

피연산자

expression1 : Number - 부울 값 또는 부울 값으로 변환되는 표현식입니다.

expression2 : Number - 부울 값 또는 부울 값으로 변환되는 표현식입니다.

반환값

Boolean - 논리 연산 결과입니다.

예제

다음은 if 문에 논리 OR 연산자(||)를 사용하는 예제입니다. 두 번째 표현식이 true로 평가되므로 최종 결과가 true입니다.

var x:Number = 10; 
var y:Number = 250; 
var start:Boolean = false; 
if ((x > 25) || (y > 200) || (start)) { 
 trace("the logical OR test passed"); // 출력: the logical OR test passed 
} 

if 문에 포함된 조건 중 하나가 true(y>200)이므로 논리 OR 테스트를 통과했다는 메시지가 나타납니다. 다른 두 표현식이 false로 평가되더라도 하나의 조건이 true로 평가되면 if 블록이 실행됩니다.

다음 예제에서는 함수 호출을 expression2로 사용하는 경우 예상치 않은 결과가 나타날 수 있음을 보여 줍니다. 연산자 왼쪽의 표현식이 true로 평가되면 오른쪽 표현식을 평가하지 않고 바로 결과가 반환됩니다. 즉, fx2() 함수가 호출되지 않습니다.

function fx1():Boolean { 
 trace("fx1 called"); 
 return true; 
} 
function fx2():Boolean { 
 trace("fx2 called"); 
 return true; 
} 
if (fx1() || fx2()) { 
 trace("IF statement entered");
} 
/* The following is sent to the Output panel: /* The following is sent to the log file: fx1 called IF statement entered */ 

참고 사항

! 논리 NOT 연산자, != 비항등 연산자, !== 완전 비항등 연산자, && 논리 AND 연산자, == 항등 연산자, === 완전 항등 연산자