본문 바로가기

정리/JavaScript

[JS] 단축 평가

&& 연산자

&&연산자는 왼쪽 피연산자가 falsy값일 때 왼쪽 피연산자를, 왼쪽 피연산자가 truthy값일 때 오른쪽 피연산자를 반환한다.

null && 'Dog'; // null
'Cat' && 'Dog'; // 'Dog'

 

|| 연산자

||연산자는 왼쪽 피연산자가 falsy값일 때 오른쪽 피연산자를, 왼쪽 피연산자가 truthy값일 때 왼쪽 피연산자를 반환한다.

null || 'Dog'; // 'Dog'
'Cat' || 'Dog'; // 'Cat'

 

단축 평가

&&연산자와 ||연산자는 이와 같이 특정 조건을 검사하고 피연산자의 평가 결과를 그대로 반환하는데 이를 단축 평가라고 부른다.

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

 

단축 평가 활용

1. 조건문

if (isLoggedIn && (userType === "admin" || userType === "moderator")) {
    // 실행 코드
}

조건문에서 특정 조건이 충족될 때만 코드를 실행하려는 경우에 활용할 수 있다.

이렇게 조건을 쓰는 곳에 단축 평가를 작성해서 조건을 만족하지 않을 때 건너뛰도록 코드를 짤 수 있다.

 

2. 사용자로부터의 입력값

// 사용자로부터 값을 입력받음
const userInput = prompt("값을 입력하세요:");

const input = userInput || "기본값";

console.log(input); // 사용자 입력값 또는 기본값

사용자로부터 값을 입력받지 못한 상황에서 사용할 수 있다.

사용자에게 값을 입력받기를 예상했는데 그렇지 못했을 때 falsy 값이 변수에 할당될텐데 그 변수를 바로 사용하면 오류가 생기니까 미리 단축 평가를 활용하여 대비를 할 수 있다.

 

3. 매개변수 기본값

function foo(name) {
    name = name || "기본값";
    console.log(name); // 매개변수 또는 기본값
}

foo(); // 인수 없음

함수의 인수값을 받아올 때 값이 없는 상황에서 활용할 수 있다.

함수 안에서 매개변수를 사용하는 코드가 있을 때 매개변수가 없으면 오류가 생기는데 단축 평가를 사용해서 매개변수의 기본값을 설정하면 오류를 방지할 수 있다.

'정리 > JavaScript' 카테고리의 다른 글

[JS] 실행 컨텍스트  (1) 2024.11.07
[JS] 이벤트 루프  (0) 2024.10.25
[JS] JSON  (0) 2023.11.23
[JS] var, let, const의 차이  (0) 2023.11.05
[JS] Scope  (0) 2023.11.04