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); // ''
반응형