미누에요

[JavaScript] 단축 평가(Short Circuit Evaluation) 본문

JavaScript

[JavaScript] 단축 평가(Short Circuit Evaluation)

미누라니까요 2025. 1. 20. 14:25
728x90
반응형
SMALL

표현식을 평가하는 도중에 평가 결과가 확정된 경우, 나머지 평가 과정을 생략하는 것을 말한다.

 

'Human' && 'Animal' // "Human"

 

위 코드를 보면 두 문자열을 && 연산을 수행하고 있다.

'Human'은 Truthy 값이므로, && 연산자 앞의 값이 true이다. AND 연산은 나머지 하나의 값에 따라 true이거나 false가 정해진다.

따라서 위 값은 'Animal'에 의해 true or false가 정해진다.

따라서 결과는 "Human" 이 되는 것이다.

 

'Human' || 'Animal'; // 'Human'

 

위 코드는 OR 연산을 수행한다.

아까와 똑같이 'Human'을 Truthy 값으로 보면 결론적으로 true로 평가된다.

그리고 OR 연산은 두 값 중 하나만 true이면 true이다. 결론적으로 위 코드는 'Human', 즉 || 연산자 앞의 값에 따라 결과가 정해진다.

 

 

 

이러한 방식을 우리는 단축평가(short-circuit evaluation)이라 한다.

 

단축 평가 표현식 평가 결과
true || anything true
false || anything anything
true && anything anything
false && anything false

 

 

 

이러한 단축 평가는 보통 if문을 대체하는 데 사용된다.

var isdone = true;
var message = '';

if(done) message = '완료';

// 위 if문을 대체 가능
message = done && '완료';
console.log(message); // 완료

 

728x90
반응형
LIST