Optional chaining은 없을 수 있는 경로를 undefined 흐름으로 남긴다
속성 접근, 메서드 호출, 배열 인덱싱은 같은 nullish 단락 규칙으로 멈추고 마지막 기본값은 ??가 맡는다.
user가 null 또는 undefined인지 먼저 본다.
contact가 없으면 email 접근을 실행하지 않는다.
?.()와 ?.[]도 같은 규칙으로 멈춘다.
undefined 결과를 ??로 사용자 표시값으로 바꾼다.
| 구분 | 의미 | 판단 |
|---|---|---|
| 결과 타입 | string | undefined | 호출부에 부재 가능성이 남는다. |
| 예외 숨김 아님 | 단락 흐름 표현 | 없는 경로를 명확히 드러낸다. |
| 남용 주의 | 필수 값이면 검증 필요 | 조용한 undefined가 버그를 가릴 수 있다. |
핵심 옵셔널 체이닝은 예외를 덮는 문법이 아니라 값이 없을 수 있는 경로를 타입과 흐름에 남기는 문법이다.