JavaScript IF 문에서 OR 조건을 사용하는 방법은 무엇입니까?


108

JavaScript에서 다음과 같이 작성할 수 있음을 이해합니다.

if (A && B) { do something }

그러나 다음과 같은 OR를 어떻게 구현합니까?

if (A OR B) { do something }

2
그건 그렇고 jQuery와 관련이 없습니다. 단지 자바 스크립트 라이브러리 일뿐입니다. 귀하의 질문은 Javascript에만 해당됩니다.
BalusC 2010 년

2
@BalusC 그들은 요즘 거의 동의어 위치 : P
Dolbz

1
@Dolbz pfooo 동의하지 않습니다 !! : P
web-stars

1
@ web-stars 2010 이후 많은 변화가
있었습니다

@Dolbz mmm, 죄송합니다 ... : P 그리고 2010 년 이후로는 아직 아무것도 모릅니다.
web-stars

답변:



84

그 지적 가치는 ||또한 반환합니다 true경우 BOTH A하고 B있습니다 true.

자바 스크립트에서, 당신이 찾고있는 경우 AB, 하지만 둘 다 , 당신은에 비슷한 일을 수행해야합니다 :

if( (A && !B) || (B && !A) ) { ... }

첫 번째 문구가 아니어야합니다. "var A 또는 var B가 true이면 ||가 true를 반환한다는 점에 유의할 가치가 있습니다."?? 그것은 당신이 언급 한 것이 (true | true) = true임을 의미합니다. 일반적이고 이해됩니다.
Punith 주권

10
(A &&! B) || (! && A는 B) 로 대체 될 수 ^ 훨씬 부드러워 B

1
@Murplyx : 대부분의 경우 예,하지만 32 비트 범위를 벗어난 숫자는 실패 할 수 있습니다. (Math.pow(2,32)-1) ^ 0; // -1 (success)...Math.pow(2,32) ^ 0; // 0 (failure)

if (A ? !B : B) {...32 비트 제한이없는 더 짧은 대체물이 될 것입니다. 또는 아마도if (!A != !B) {...

1
@squint 왜 참 또는 거짓이 32 비트 범위 밖에 있기 때문에 0 또는 1이고 숫자를 비교하는 경우 btw는 !! n을 사용하여 부울 값을 얻는 이유입니다.




9

내 예는 다음과 같습니다.

if(userAnswer==="Yes"||"yes"||"YeS"){
 console.log("Too Bad!");   
}

이것은 대답이 Yes yes 또는 YeS이면 동일한 일이 발생한다는 것을 말합니다.


1
귀하의 답변이 기존 답변보다 개선 되었습니까? 특정 사용 사례입니까?
emecas 2014

작동합니까? 나는 그렇게 코딩하지만 구문 오류입니다. 나는 이렇게 코딩합니다. if (name === 'Jam' || name === 'Jem' || name == 'Jum')
펭귄

7
예, 각 진술을 개별적으로 포함해야하는 어려운 방법을 발견했습니다. 나는 다음 if (number === 1||2||3)과 같은 것을 알아 냈다 while (true); 두 번째 및 세 번째 조건은 2가 2이고 / 또는 3이 3인지 묻습니다. 그들은 항상 성명에 대해 참으로 해결합니다. 캐릭터 수를 줄이려는 계획이 있습니다. 문장을 괄호 안에두면 읽기가 더 쉬워집니다.
TimSmith-Aardwolf 2015

3
모든 다른 대소 문자 변형을 확인하는 대신 .toLowerCase ()를 사용하는 것이 훨씬 좋습니다.
AquaAlex

1
var choice = prompt ( "가위 바위 보를 선택 하시나요?"). toLowerCase (); if (userChoice! = ( "paper"|| "rock"|| "scissors")) {console.log ( "Invalid Choice made"); }
AquaAlex

1

정규 표현식 도 사용할 수 있습니다 .

var thingToTest = "B";
if (/A|B/.test(thingToTest)) alert("Do something!")

다음은 일반적인 정규 표현식의 예입니다.

var myString = "This is my search subject"
if (/my/.test(myString)) alert("Do something here!")

"myString"변수 내에서 "my"를 찾습니다. "myString"변수 대신 문자열을 직접 대체 할 수 있습니다.

추가 보너스로 대소 문자를 구분하지 않는 "i"와 전역 "g"를 검색에 추가 할 수도 있습니다.

var myString = "This is my search subject"
if (/my/ig.test(myString)) alert("Do something here");


흥미 롭군. 선적 서류 비치?
켄 샤프

0

OR(||)조건 및 표기법이 인 경우 연산자 를 사용하려면 하나 이상의 조건문이 필요합니다 ||.

if(condition || condition){ 
   some stuff
}

1
똑같은 대답으로 오래된 질문에 대답하는 이유는 무엇입니까?
켄 샤프

0

다음과 같이 사용할 수 있습니다.

if(condition1 || condition2 || condition3 || ..........)
{       
     enter code here
}

1
똑같은 대답으로 오래된 질문에 대답하는 이유는 무엇입니까?
켄 샤프

0

정규식에 대해 언급하려는 경우 switch문을 언급하는 것이 좋습니다.

var expr = 'Papayas';
switch (expr) {
  case 'Oranges':
    console.log('Oranges are $0.59 a pound.');
    break;
  case 'Mangoes':
  case 'Papayas': // Mangoes or papayas
    console.log('Mangoes and papayas are $2.79 a pound.');
    // expected output: "Mangoes and papayas are $2.79 a pound."
    break;
  default:
    console.log('Sorry, we are out of ' + expr + '.');
}


-1

그냥 사용 ||

if (A || B) { your action here }

참고 : 문자열 및 숫자 포함. 더 복잡합니다.

깊은 이해를 위해 이것을 확인하십시오 .


7
이 질문은 4 년 전에 답변되었습니다. 귀하의 답변이 기존 답변보다 개선 되었습니까?
Frambot 2014-06-27

@JoeFrambach는 : 아니, 그냥 명확하게 대답 :) 만들고 싶어
haotang
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.