FE/JavaScript

📖 [JS] 자바스크립트에서의 단락

serin99 2024. 7. 19. 17:09
728x90




자바스크립트에서 단락 평가(short-circuit evaluation)는 논리 연산자(&& 및 ||)를 사용할 때,

전체 표현식을 평가하지 않고도 결과를 결정할 수 있는 경우 평가를 중단하는 방법을 말합니다.

이는 성능 향상 및 불필요한 코드 실행 방지에 유용합니다.


 

논리 AND (&&)

 

&& 연산자는 왼쪽에서 오른쪽으로 평가됩니다. 첫 번째 피연산자가 false로 평가되면, 전체 표현식은 false가 되므로 나머지 피연산자는 평가되지 않습니다.

 

const a = false && console.log("이 코드는 실행되지 않습니다.");
console.log(a); // false

 

위 예제에서 false가 첫 번째 피연산자이기 때문에 console.log는 실행되지 않고, 표현식 전체는 false로 평가됩니다.

반대로, 첫 번째 피연산자가 true로 평가되면 두 번째 피연산자가 평가됩니다.

const b = true && console.log("이 코드는 실행됩니다.");
// 이 코드는 실행됩니다.
console.log(b); // undefined

 


 

논리 OR (||)

 

|| 연산자는 왼쪽에서 오른쪽으로 평가됩니다. 첫 번째 피연산자가 true로 평가되면,

전체 표현식은 true가 되므로 나머지 피연산자는 평가되지 않습니다.

 

const c = true || console.log("이 코드는 실행되지 않습니다.");
console.log(c); // true

 

 

위 예제에서 true가 첫 번째 피연산자이기 때문에 console.log는 실행되지 않고, 표현식 전체는 true로 평가됩니다.

반대로, 첫 번째 피연산자가 false로 평가되면 두 번째 피연산자가 평가됩니다.

 

const d = false || console.log("이 코드는 실행됩니다.");
// 이 코드는 실행됩니다.
console.log(d); // undefined

 


 

실용적 예

 

단락 평가는 기본값 설정이나 함수 호출을 제어하는 데 자주 사용됩니다.

 

 

기본값 설정

변수에 기본값을 설정할 때 || 연산자를 사용할 수 있습니다.

let userInput;
let defaultValue = "기본값";
let value = userInput || defaultValue;
console.log(value); // "기본값"

 

함수 호출 제어

 

조건에 따라 함수가 호출되는 것을 제어할 때 && 연산자를 사용할 수 있습니다.

let isAuthenticated = true;

isAuthenticated && console.log("사용자가 인증되었습니다."); // "사용자가 인증되었습니다."

 

이와 같이, 단락 평가는 코드의 효율성을 높이고 불필요한 연산을 피하는 데 유용하게 사용할 수 있습니다.

728x90