옵셔널 체이닝 '?.'

Bien·2022년 4월 30일
0

옵셔널 체이닝이란

옵셔널 체이닝(optional chaining) 은 새로운 연산자이다. '?.'의 형태로 사용하는 이 연산자는 체인으로 이루어진 각 참조가 유효한지 명시적으로 검증하지 않고 연결된 객체 체인 내에 깊숙히 위치한 속성 값을 읽을 수 있다.

옵셔널 체이닝을 사용하는 이유

옵셔널 체이닝(optional chaining) ?.을 사용하면 프로퍼티가 없는 중첩 객체를 에러 없이 안전하게 접근할 수 있습니다.
예를 들어 중첩된 구조를 가진 객체에서 옵셔널 체이닝 없이 중첩된 하위 속성을 찾기 위해서는 다음과 같이 && 연산자를 사용했다.

let nestedProp = obj.first && obj.first.second;

그러나 옵셔널 체인징 연산자를 사용하면

let nestedProp = obj.first?.second;

이런식으로 obj.first.second 에 접근하기 전에 obj.first를 테스트하지 않아도 된다. .대신 ?.를 사용하면서 자바스크립트는 obj.first가 null 또는 undefined가 아니라는 것을 확인한다. 만약 obj.first가 null 또는 undefined 라면 평가를 멈추고 undefined를 반환한다.

옵셔널 체인징의 사용

옵셔널 체이닝 문법은 직관적이고 사용하기도 편합니다. ?. 연산자 왼쪽의 평가 대상이 null이나 undefined인지 확인하고 아니라면 평가를 계속 진행한다. ?.연산자를 계속 연결해서 체인을 만들면 중첩 프로퍼티에 안전하게 접근 가능하지만 ?. 왼쪽 평가대상이 없어도 괜찮은 경우에만 선택적으로 사용해야 합니다.

출처 MDN , javascript.info

profile
🙀

0개의 댓글