Languages/JavaScript

[JavaScript] 옵셔널 체이닝 연산자 & null 병합 연산자

개발자 나르 2022. 5. 26. 22:34
반응형

옵셔널 체이닝 연산자

ES11에서 도입된 옵셔널 체이닝 연산자 ?. 는 좌항의 피연산자가 null 또는 undefined인 경우 undefined를 반환하고, 그렇지 않으면 우항의 프로퍼티 참조를 이어간다.

옵셔널 체이닝을 사용하는 이유는 Falsy 값 중에 0 이나 '' 이 객체로 평가될 때도 있기 때문에 더 명확하게 연산하기 위해 나온 연산자이다.

// 연산곱을 활용한 단축평가
var s = '';
var length = str && str.length;
console.log(length); // ''

//옵셔널 체이닝을 활용한 단축평가
var s= '';
var length = str?.length;
console.log(length); // 0

 

null 병합 연산자

ES11에서 도입된 null 병합 연산자 ??는 좌항의 피연산자가 null 또는 undefined인 경우 우항의 피연산자를 반환하고, 그렇지 않으면 좌항의 피연산자를 반환한다. 기본값을 설정할 때 유용하다.

// 연산합을 활용한 단축평가
var s = '' || 'default';
console.log(s); // 'default'

//null 병합 연산자를 활용한 단축평가
var s = '' ?? 'default';
console.log(s); // ''
반응형