본문 바로가기

JS

[자바스크립트] 옵셔널 체이닝

반응형

간혹 개발을 하던 도중 객체 안에 있는 객체의 내용을 추출하고 싶은 경우가 있다.

json1 : {
            json2 : {
                           name:'1111'
                         }
             }

이런 형태의 json에서 json2 안에 있는 name 을 추출하고 싶은 경우, 만약 최상위 json이 undefined라면

json1.json2.name이라고 호출을 하면 

위와같은 에러가 발생한다. 

이를 방지 하기 위해서 많은 방어코드가 필요하다 if....와 같은.

Uncaught TypeError: Cannot read properties of undefined (reading 'json2')
at <anonymous>:1:11

 

그래서 존재 할지 안할지 모르는 객체에서 값을 추출할때 아래와 같이 작성하면 많은 방어코드가 필요하지 않다.

 

json1?.json2.name

 

끝!

반응형