[JAVASCRIPT] 지연 실행과 단축 평가(Short-circuit Evaluation) 제대로 활용하기


9시간 5분전
4
0
본문
JavaScript에서 자주 사용되지만 무심코 지나치기 쉬운 개념인 단축 평가(Short-circuit Evaluation) 와 이를 활용한 지연 실행(Lazy Execution) 에 대해 알려드립니다!
단축 평가란?
const name = user && user.name;
위 코드는 user
가 존재할 때만 user.name
에 접근하도록 합니다.
이처럼 && 나 || 연산자는 왼쪽 조건의 결과에 따라 오른쪽을 평가하지 않기도 합니다.
예시로 보는 단축 평가
const isLoggedIn = false;
// OR 연산자: 왼쪽이 false면 오른쪽 실행
const username = isLoggedIn || "Guest"; // "Guest"
const user = null;
// AND 연산자: 왼쪽이 false면 오른쪽 실행 안 함
const userId = user && user.id; // null
지연 실행(Lazy Execution) 활용법
이런 특성을 이용해서 함수를 조건부로 실행할 수 있습니다!
const debug = false;
debug && console.log("디버깅 로그"); // 출력 안 됨
또는...
const getData = () => {
console.log("데이터 가져오는 중...");
return "DATA";
};
const isEnabled = false;
const result = isEnabled && getData(); // 함수 실행 안 됨
실전 예: 함수 전달 시에도 가능!
const log = () => console.log("로그 출력");
const isDev = true;
// isDev가 true일 때만 함수 실행
isDev && log(); // "로그 출력"
요약
-
&&
,||
연산자는 값을 평가하면서 조건에 따라 계산을 생략합니다. -
이를 활용하면 불필요한 연산을 줄이고, 조건부 실행을 간단하게 구현할 수 있습니다.
-
특히 조건부 함수 실행에서 유용하게 쓰입니다!
댓글목록0