단축 평가(Short-circuit evaluation)는 조건식을 평가할 때, 조건식 전체를 평가하지 않고 필요한 만큼만 평가하여 처리하는 개념입니다. 이를 통해 효율적인 코드를 작성할 수 있습니다.
간단한 예를 들어보겠습니다. 다음은 두 개의 값 중에서 "참(truthy)"인 값을 찾는 코드입니다.
let value = a || b;
여기서 a
와 b
는 불리언(Boolean) 값이 아닐 수 있습니다. a
가 참이라면 value
에는 a
의 값이 할당되고, a
가 거짓(falsey)이면
b의 값이 할당됩니다. 이때, 실제로는
a와
b모두 평가되지만,
a가 참이면
b는 평가되지 않는 것을 의미합니다. 즉,
b`의 평가는 필요하지 않은 경우에는 수행되지 않아 효율적인 동작이 가능합니다.
이러한 단축 평가는 ||
(논리 OR) 연산자뿐만 아니라 &&
(논리 AND) 연산자에서도 사용될 수 있습니다. 예를 들어, 다음은 a
가 존재하고 참인 경우에만 value
에 할당하는 코드입니다.
let value = a && b;
위의 코드에서 a
가 거짓이라면 value
에는 a
의 값이 할당되고, a
가 참이면 b
의 값이 할당됩니다. 마찬가지로, b
의 평가는 필요하지 않은 경우에는 수행되지 않습니다.
단축 평가는 코드를 간결하고 효율적으로 작성하는 데 도움을 주는 유용한 개념입니다.