javascript truthy values



{}== false가 예외를 던지는 이유는 무엇입니까? (1)

IE와 Chrome에서이 값을 자바 스크립트 콘솔에 입력하면 예외가 발생합니다.

{} == false   // "SyntaxError: Unexpected token =="

그러나 이러한 모든 명령문은 문제없이 평가됩니다.

false == {}   // false

({} == false) // false

var a = {};
a == false    // false

이 의도적 인 행동입니까? 왜 이런 일이 생길까요?


콘솔에서 {} 하여 명령문을 시작할 때 객체 리터럴을 작성하지 않고 코드 블록 ( if 문 또는 루프 본문을 사용하여 작성한 것과 동일한 블록)을 작성합니다. == 와 같은 기호는 나중에 분명히 예상되지 않습니다.

코드 블록을 생각하면 a = 5; 와 같은 것을 알 수 있습니다 a = 5; 그 후에 올 수 있었다 :

if (some_condition) {
    // do something
}
a = 5;

그런 다음 이것을 사용하여 콘솔에서 테스트하고 제대로 작동하는지 확인할 수 있습니다.

{} a = 5;




truthiness