본문 바로가기
javascript

옵셔널 체이닝(optional chaining) ?.

by hjcode 2020. 12. 8.

옵셔널 체이닝은 객체 프로퍼티에 에러없이 안전하게 접근하는 방법입니다.
만약 참초가 null이나 undefined라면 에러가 발생하는 대신 undefined를 리턴합니다.

 

중첩된 객체에서 옵셔널 체이닝 없이 하위 속성을 찾으려면 아래와 같이 해야합니다.
first는 second에 접근하기 전에 Nullish가 아니라는 것을 검증하여 에러를 방지합니다.

 

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

 

옵셔널 체이닝을 사용하면 아래와 같이 간결해집니다.

 

let nestedProp = obj.first?.second;

 

const adventurer = {
  name: 'Alice',
  cat: {
    name: 'Dinah'
  }
};

console.log(adventurer.dog.name);
// Uncaught TypeError: Cannot read property 'name' of undefined
console.log(adventurer.dog?.name);
// undefined

'javascript' 카테고리의 다른 글

XMLHttpRequest (XHR) 진행상황 모니터링  (0) 2021.03.22
모듈 사용하기 import, export  (0) 2021.01.22
javascript 클립보드 복사  (0) 2020.09.23
배열에서 원하는 객체 찾기  (0) 2020.09.10
Array의 메서드 some, every  (0) 2020.08.24