-
[Javascript] 단축 평가(short circuit evaluation)Java Script 2024. 2. 16. 12:00
단축평가란 표현식을 평가하다가 결과가 확정되면 나머지 과정을 진행하지 않고 결과를 반환하는 것을 말합니다.
이를 통해 자바스크립트에서 평가를 최소화하고, 조건부 로직을 간결하게 작성할 수 있습니다.
| OR (||)
OR연산자는 왼쪽 피연산자가 falsy값 일 때 오른쪽 피연산자의 값을 반환합니다.
반대로 왼쪽 피연산자가 truthy값이면 왼쪽 값을 그대로 반환합니다.
let name = null; let user = name || "yi"; console.log(user); // yi 출력
이처럼 name이 null이므로 falsy값이기 때문에 "yi"라는 오른쪽 값을 반환합니다.
| AND (&&)
AND연산자는 왼쪽 피연산자가 truthy값 일 때 오른쪽 피연산자의 값을 검사하여 반환합니다.
반대로 왼쪽 피연산자가 falsy값이면 그 값이 바로 반환되고 오른쪽 피연산자는 평가되지 않습니다.
let isFruit = true; let message = isFruit && "과일입니다."; console.log(message); // 과일입니다. 출력
이처럼 isFruit가 true이므로 오른쪽 값인 "과일입니다."를 반환합니다.
| 조건부 실행
단축 평가를 활용하여 조건부 실행을 할 수 있습니다.
만약 어떤 로직을 조건이 참일 때만 실행하고 싶으면 다음과 같이 할 수 있습니다.
let isLoggedIn = true; isLoggedIn && console.log("로그인 돼 있음");
이처럼 조건을 AND연산자를 사용하여 간결하게 표현 가능합니다.
| 기본값 설정
함수로 받는 매개변수에 기본값을 설정할 때도 단축 평가를 사용할 수 있습니다.
const getFruit = (fruit) => { fruit = fruit || "apple"; console.log(fruit); } getFruit(); // apple 출력 getFruit("banana"); // banana 출력
이런 식으로 fruit가 falsy값일 때 "apple"을 기본값으로 사용할 수 있습니다.
| 끝
최근 c언어를 공부하다 단축 평가라는 것을 알게 되었습니다.
이런 단축 평가가 자바스크립트에도 적용되고, 이를 자연스럽게 제가 사용하고 있었음에도 한 번도 이런 개념을
고민하거나 정리해 본 적이 없었습니다. 이번 블로그 포스팅으로 이를 정리하고 고민할 수 있어서 좋았습니다.'Java Script' 카테고리의 다른 글
[Javascript] 이미지 리사이징으로 용량 줄이기 (Canvas API) (2) 2024.03.27 [Javascript] 이벤트 버블링(Event Bubbling), 이벤트 위임(Event Delegation) (0) 2024.03.07 [Java Script] for과 forEach의 차이 및 배열의 비동기 작업 (0) 2023.08.28 [Java Script] 클로저(Closure) (0) 2023.08.19 [Java Script] 화살표 함수와 일반 함수 차이 (0) 2023.08.01