선택 속성 · optional chaining
없을 수 있는 속성을 표현하고 안전하게 접근합니다.
기본 문법
nickname?: string / user.nickname?.toUpperCase()작은 예제 typescript
type User = { name: string; nickname?: string };
const user: User = { name: "Minji" };
console.log(user.nickname?.toUpperCase() ?? "없음");실행 결과
없음
헷갈리기 쉬운 점
- ?가 붙은 속성은 없어도 되는 속성입니다. 사용하기 전에 undefined 가능성을 고려하세요.
- ?.는 null과 undefined에서 접근을 멈춥니다. 실제로 존재하지만 호출할 수 없는 값의 모든 오류를 없애지는 않습니다.