[JavaScript] 단축 평가

nang_zz·2023년 1월 2일
0
post-thumbnail

단축 평가

논리 연산자를 이용하여 로직을 축약하는 것.
논리합(||) 혹은 논리곱(&&) 연산자 이용함.

JavsScript에서 논리합과 논리곱의 결과는 true, false가 아닐 수도 있다.
표현식에서는 논리합과 논리곱의 결과로 반드시 피연산자 중 하나로 평가됨.

논리곱 단축 평가

좌 -> 우로 평가 진행. 모든 피연산자가 Truthy일 때 가장 마지막 피연산자 반환.

'First' && 'Second' // 'Second'

'First'는 Truthy로 평가되고 우측인 'Second'로 이어져 최종 결과가 'Second'가 된다.

논리합 단축 평가

좌 -> 우로 평가 진행. 하나만 Truthy로 평가되어도 그 값을 반환.

'First' || 'Second' // 'First'

'First'가 Truthy로 평가되어 'Second'는 무시되고 그대로 'First'반환




활용 예제

if문 대체하기

if (a) { // a가 Truthy하면
    b = c; // b에 c를 대입
}

위 로직을 논리곱 단축 평가를 이용하여 줄일 수 있다.

b = a && c; // a가 Truthy하면 c가 대입된다.

반대로 falsy할 때 로직은 논리합 단축 평가 이용 가능.

b = a || c; // a가 Falsy하면 c가 대입된다.

객체가 null 혹은 undefined인지 확인하기

const obj = null;
const value = obj && obj.value;
// obj가 null이면 Falsy하기 때문에 우측 피연산자가 평가되지 않는다.

기본값 부여하기

function getLength(str) {
    const newStr = str || '';
    // str이 Falsy하면 ''가 반환된다.
    return newStr.length;
}
profile
블로그 이전했어요. fine-dev.site

0개의 댓글