&& 연산자
&&연산자는 왼쪽 피연산자가 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 |