짹뚜 스튜디오

[Javascript] Short-circuiting (단축평가) 본문

개발 공부/javascript

[Javascript] Short-circuiting (단축평가)

짹뚜 2022. 1. 9. 20:27

논리 연산자 Expression은 왼쪽에서 오른쪽으로 평가가 되는데 만약 Expression의 최종 결과값이 결정된다면 뒤에 남은 평가 과정을 생략하고 최종 결과값을 결정한 피연산자를 return 한다. 이것을 Short-circuiting (단축 평가)라고 한다. Short-circuiting은 불필요한 작업을 수행하지 않게 함으로써 효율적으로 값을 도출해낸다.

OR (||) 연산자

두 피연산자가 있는 경우 하나만 truthy어도 최종 결과가 true이기 때문에 왼쪽부터 평가를 진행하면서 왼쪽 피연산자가 truthy면 그 즉시 Short-circuiting을 진행하고 왼쪽 피연산자를 return 한다. 만약 왼쪽이 falsy면 오른쪽 피연산자를 return 한다.

const a = 0 || 2; //왼쪽이 falsy이기 때문에 2가 return 된다.
const b = 'hello' || 'world'; // 왼쪽이 truthy이기 때문에 'hello'가 return 된다.

console.log(a); // 2
console.log(b); // 'hello'

AND (&&) 연산자

두 피연산자가 있는 경우 하나만 falsy어도 최종 결과가 false이기 때문에 왼쪽부터 평가를 진행하면서 왼쪽 피연사자가 falsy면 그 즉시 Short-circuiting을 진행하고 왼쪽 피연산자를 return 한다. 만약 왼쪽이 truthy면 오른쪽 피연산자를 return 한다.

const a = null && 2; //왼쪽이 falsy이기 때문에 null이 return 된다.
const b = 'hello' && 'world'; // 왼쪽이 truthy이기 때문에 'world'가 return 된다.

console.log(a); // null
console.log(b); // 'world'

 

'개발 공부 > javascript' 카테고리의 다른 글

[Javascript] Factory Functions  (0) 2022.01.23
[Javascript] DOM  (0) 2022.01.21
[Javascript] arguments  (0) 2022.01.09
자바스크립트 엔진  (0) 2021.12.30
setTimeout, setInterval and requestAnimationFrame  (0) 2021.12.28
Comments