논리 명령문은 항상 부울 값 true 또는 false를 반환합니다. 그러나 OR 논리 연산에서 참 진술을 어떻게 검색합니까?JS에서 OR 논리 연산의 결과 검색
답변
JavaScript에서 OR 및 AND 연산자는 항상 피연산자 중 하나를 반환합니다. OR 연산자는 첫 번째 falsy 피연산자를 반환하고 (그 이후의 피연산자는 평가하지 않음) 모든 피연산자가 true 인 경우 마지막 피연산자를 반환합니다. AND 연산자는 유사하게 첫 번째 피연산자 피연산자 또는 마지막 피연산자를 반환합니다. 당신이 부울로 결과를 원하는 경우
, 당신은 truthy 값 falsy 값 true
및 false
을 반환 !
연산자를 사용할 수 있습니다.
을 요약하면 :
!!(a || b)
이 a
및/또는 b
그렇지 않으면 truthy하고 false
true
경우 반환합니다.
a || b
a
이 truthy하고
b
그렇지
a
경우 반환합니다.
편집 : 당신을 위해 무엇을 찾고있는 것은 OR의 평가를 분리하는 것 같다 몇 가지 설명을 한 후 .
if (a === 56) {
// a is what you are looking for
} else if (b === 56) {
// b is what you are looking for
} else {
// neither a nor b are what you are looking for
}
위의 코드 조각은 코드와 동일한 평가를 수행하지만 첫 번째 표현식이 참 때 실행되는 코드의 지점을 가지고 첫 번째 표현식이 두 번째 표현식이 거짓이며, 경우에 실행 다른 지점 사실이다.
하지만 함수에서 어느 것이 사실인지 어떻게 검색 할 수 있습니까? 'var a = 45, b = 56; 함수 무언가 (a === 56 || b === 56) {var result =; // return/retrieve true 값 (어느 쪽인지)}' – HRanDEV
함수의 인수가 무엇인지 명확히 할 수 있습니까? 함수 정의와 실제 예제 호출을 분리하십시오. – Tibos
죄송합니다 결과를 검색하려는 if 문입니다. 'var a = 45, b = 56; if (a === 56 || b === 56) {var result =; // return/retrieve true 값 (어느 b인지)} ' – HRanDEV
JS에서 항상 부울 값을 반환하지는 않습니다. 부울을 원하면 논리 NOT 연산자 인'var x = !! (foo || bar)' –
진술을 사용하여 변환 하시겠습니까? 표현을 말하는 거니? 병합 운영자에 대해서 말하는거야? –
문구로 된 질문은 전혀 이해가되지 않으므로 모든 대답이 수용 가능하고 올바른 응답입니다. – Kastor