2012-09-23 4 views
67

가능한 중복 :
Using &&'s short-circuiting as an if statement?
Does javascript use optimization in boolean expressions?JavaScript에 "단락"평가가 있습니까?

내가 JavaScript는 C#으로 & & 운영자처럼 "단락"평가이 있는지 알고 싶습니다. 그렇지 않다면 채택 할만한 해결책이 있는지 알고 싶습니다.

+4

쉽게 스스로를 테스트 할 수 있습니다 ... – gdoron

+0

감사 롭 W, 나는 Google에서 해당 문자열을 사용할 수 몰랐어요! :-) – GibboK

+2

당신을 진심으로 환영합니다. 검색 속도를 높이기 위해 Chrome/Firefox의 'https : //www.google.com/search? q = site : stackoverflow.com + % s'을 검색 바로 가기로 추가했습니다. –

답변

81

예, JavaScript에는 "단락"평가가 있습니다.

if (true == true || foo.foo){ 
    // Passes, no errors because foo isn't defined. 
} 

Live DEMO

if (false && foo.foo){ 
    // Passes, no errors because foo isn't defined. 
} 

Live DEMO

+4

그래서 단락 회로 그것은 JS의 표준인가? – GibboK

+0

@GibboK. 표준에 의한 의미를 알지 못하면 해당 동작을 변경할 수 없으며 유일한 동작입니다. (그냥 C#와 마찬가지로) – gdoron

+1

감사합니다. gdoron, C#에서 이해할 수있게 도와주세요. C와 같은 바이너리 연산자도 있습니다. & 피연산자는 모두 && C와 같이 전달해야합니다. – GibboK

관련 문제