가능한 중복 :
Javascript conditional order evaluation여러 조건 : 다른 조건
는 어떻게하면 문에 여러 조건 밖으로 이동합니까?
if(bacon && bacon == "crispy") {
self.eat(bacon);
}
bacon
만약 존재하지 않는, 그것은 여전히 bacon
는 "바삭"인지 확인하려고합니다?
가능한 중복 :
Javascript conditional order evaluation여러 조건 : 다른 조건
는 어떻게하면 문에 여러 조건 밖으로 이동합니까?
if(bacon && bacon == "crispy") {
self.eat(bacon);
}
bacon
만약 존재하지 않는, 그것은 여전히 bacon
는 "바삭"인지 확인하려고합니다?
아니요, short-circuit evaluation을 사용하므로 LHS를 평가할 경우 RHS를 평가할 필요가 없다는 의미이므로 그렇지 않습니다. 이것은 매우 자주 자바 스크립트에 이용된다
...
foo = foo || "bar";
foo
이 truthy 다음 조건이 값을 할당됩니다 true
및 foo
것으로 알려져합니다 (좌) 인 경우
foo
경우
그러나 falsy, 그것은 RHS 식을 평가합니다 다음 foo
에 그 결과를 할당합니다.
& & 연산자는 JavaScript의 단락 연산자로, 첫 번째 조건이 거짓 일 경우 나머지 문이 평가되지 않도록합니다.