Javascript 단축 평가(short-circuit evaluation)

오픈소스·2020년 11월 1일
1

https://wikibook.co.kr/mjs/

아래 값들은 false로 평가되는 Falsy 값이다.

  • false
  • undefined
  • null
  • 0, -0
  • NaN
  • ''(빈 문자열)

단축평가

객체를 가리키기를 기대하는 변수가 null 또는 undefined가 아닌지 확인하고 프로퍼티를 참조할 때

var value = elem && elem.value;

함수 매개변수에 기본값을 설정할 때

    str = str || '';

옵셔널 체이닝(optional chaining) 연산자

?. 는 좌항의 피연산자가 null 또는 undefined인 경우 undefined를 반환하과 그렇지 않으면 우항의 프로퍼티 참조를 이어간다.

var value = elem?.value;

?. 는 객체를 가리키기를 기대하는 변수가 null 또는 undefined가 아닌지 확인하고 프로퍼티를 참조할 때 유용하다.

var str = '';
var length = str && str.length;
console.log(length); // ''
var str = '';
var length = str?.length
console.log(length); // 0

null 병합(nullish coalescing) 연산자

?? 는 좌항의 피연산자가 null 또는 undefined인 경우 우항의 연산자를 반환하고, 그렇지 않으면 좌항의 피연산자를 반환한다.

var foo = null ?? 'default string';

?? 는 변수에 기본값을 설정할 때 유용하다.

var foo = '' || 'default string';
console.log(foo); // 'default string'
var foo = '' ?? 'default string';
console.log(foo); // ''

0개의 댓글