
논리 연산에서 첫 번째 피연산자의 값만으로 해당 식의 결과가 확실할 때, 두 번째 값은 평가하지 않는 것을 '단락 평가(Short-Circuit Evaluation)'라고 한다.
AND를 의미하는 && 연산자는 피연산자의 값이 하나라도 거짓이면 거짓을 반환한다.
즉, 왼쪽에 위치한 첫 번째 피연산자 값이 false면, 단락 평가가 이루어지므로 두 번째 피연산자는 계산하지 않는다.
fuction calcA() {
return false;
}
//clacB는 호출 x
fuction calcB() {
return true;
}
console.log(calcA() && calcB()); // false 출력
OR 연산을 의미하는 || 연산자는 피연산자의 값이 하나라도 참이면 참을 반환한다.
즉, 왼쪽에 위치한 첫 번쨰 피연산자의 값이 true면, 단락 평가가 이루어져 두 번째 피연산자 값은 계산하지 않는다.
fuction calcA() {
return true;
}
//clacB는 호출 x
fuction calcB() {
return false;
}
console.log(calcA() && calcB()); // true 출력