나는 bool과 다른 데이터 유형 모두로 &&
, ||
및 !
이 어떻게 작동하는지 이해하지 못합니다. 어떻게 사용합니까?JavaScript의 논리 연산자 - 어떻게 사용합니까?
답변
자바 스크립트의 모든 값은 "진실"또는 "거짓"입니다.
a && b
는
두 사업자가 하나의 반환 후 어떤 피연산자를 평가하지 않습니다 처음 truthy 피연산자로 평가 첫 falsy 피연산자
a || b
로 평가됩니다. 모든 피연산자가 일치하지 않으면 마지막 피연산자로 평가됩니다.
a
가 falsy이고 false
경우 a
가 truthy 경우
!a
는true
평가.
모든 값은 다음을 제외하고 진실입니다
false
0
NaN
""
null
undefined
당신은 다음 & & truthy 사용되는 두 가지 조건을 모두을 테스트하려면 다음 두 조건의 하나 또는 둘 모두을 테스트하려면
if (isX && isY)
{
// Do something.
}
을 사실이라면 다음을 사용하십시오 : |
if (isX || isY)
{
// Do something.
}
!
은 부울을 반전합니다 (truey 값은 false가되고 그 반대도 마찬가지입니다).
'document.write ("Cat"| "Dog")'는 어떨까요? – DarkLightA
@DarkLightA : 나는 그런 코드를 작성하지 말 것을 제안합니다! 그것은 암시 적 변환을 유발하고 모든 사람을 혼란스럽게합니다. –
좋아, MDC에 있었어 : D – DarkLightA
"모든 * 값 *은 진실입니다 ..."라고해야합니다. 즉, 'undefined'가 값이기 때문에 기본값으로이 값을 보유하는 'undefined'변수가 있습니다. 또한 'NaN'은 다른 것과 동등하지 않으며 자체적으로조차 아니다. –
@Ivo : 1 : 수정 됨. 2 : 그건 부적당하다. '! NaN'은'true'이므로'NaN'은 위증입니다. – SLaks
여전히 NaN == NaN은 거짓입니다. 위의 목록에서 NaN이 다른 모든 위조 된 값처럼 작동한다고 생각할 수도 있습니다. –