Optional chaining은 없을 수 있는 경로를 undefined 흐름으로 남긴다

속성 접근, 메서드 호출, 배열 인덱싱은 같은 nullish 단락 규칙으로 멈추고 마지막 기본값은 ??가 맡는다.

01객체 확인

user가 null 또는 undefined인지 먼저 본다.

02속성 접근

contact가 없으면 email 접근을 실행하지 않는다.

03호출·인덱싱

?.()와 ?.[]도 같은 규칙으로 멈춘다.

04기본값

undefined 결과를 ??로 사용자 표시값으로 바꾼다.

구분의미판단
결과 타입string | undefined호출부에 부재 가능성이 남는다.
예외 숨김 아님단락 흐름 표현없는 경로를 명확히 드러낸다.
남용 주의필수 값이면 검증 필요조용한 undefined가 버그를 가릴 수 있다.

핵심 옵셔널 체이닝은 예외를 덮는 문법이 아니라 값이 없을 수 있는 경로를 타입과 흐름에 남기는 문법이다.