2010-12-26 9 views

답변

6

자바 스크립트의 모든 값은 "진실"또는 "거짓"입니다.

  • a && b

두 사업자가 하나의 반환 후 어떤 피연산자를 평가하지 않습니다 처음 truthy 피연산자로 평가 첫 falsy 피연산자

  • a || b로 평가됩니다.
    모든 피연산자가 일치하지 않으면 마지막 피연산자로 평가됩니다. a가 falsy이고 false 경우 a가 truthy 경우

    • !atrue 평가.

    모든 값은 다음을 제외하고 진실입니다

    • false
    • 0
    • NaN
    • ""
    • null
    • undefined
  • +1

    "모든 * 값 *은 진실입니다 ..."라고해야합니다. 즉, 'undefined'가 값이기 때문에 기본값으로이 값을 보유하는 'undefined'변수가 있습니다. 또한 'NaN'은 다른 것과 동등하지 않으며 자체적으로조차 아니다. –

    +0

    @Ivo : 1 : 수정 됨. 2 : 그건 부적당하다. '! NaN'은'true'이므로'NaN'은 위증입니다. – SLaks

    +0

    여전히 NaN == NaN은 거짓입니다. 위의 목록에서 NaN이 다른 모든 위조 된 값처럼 작동한다고 생각할 수도 있습니다. –

    1

    당신은 다음 & & truthy 사용되는 두 가지 조건을 모두을 테스트하려면 다음 두 조건의 하나 또는 둘 모두을 테스트하려면

    if (isX && isY) 
    { 
        // Do something. 
    } 
    

    을 사실이라면 다음을 사용하십시오 : |

    if (isX || isY) 
    { 
        // Do something. 
    } 
    

    !은 부울을 반전합니다 (truey 값은 false가되고 그 반대도 마찬가지입니다).

    +2

    'document.write ("Cat"| "Dog")'는 어떨까요? – DarkLightA

    +0

    @DarkLightA : 나는 그런 코드를 작성하지 말 것을 제안합니다! 그것은 암시 적 변환을 유발하고 모든 사람을 혼란스럽게합니다. –

    +1

    좋아, MDC에 있었어 : D – DarkLightA