728x90
반응형
옵셔널 체이닝이란?
객체의 속성에 접근할 때 해당 객체나 속성이 존재하지 않아도 에러를 발생시키지 않고 undefined를 반환하게 하는 기능이다.
사용하는 이유
특히 API 응답을 처리할 때 자주 유용한데, 중첩 객체를 접근할 때 보다 안전하게 접근을 할 수 있고, 가독성이 향상된다.
예시
Person 을 사용하여 선언한 객체에 email 값이 존재하고, null, undefined, 빈 문자열("")이 아닌지 체크하기
interface Person {
name: string;
email?: string;
}
function check(obj: Person): boolean {
return obj.email !== undefined && obj.email !== null && obj.email !== "";
}
이렇게 일일이 체크 할 팔요없이
function check(obj: Person): boolean {
return obj.email?.length > 0 || false;
}
옵셔널 체이닝(?.)을 사용하면 null 또는 undefined인 경우에도 안전하게 체크할 수 있음
주의
옵셔널 체이닝 남용 금지!
무분별하게 남용하면 디버깅이 어려워질 수 있기떄문에 ?.는 존재하지 않아도 되는 대상에만 사용해야한다.
-끝-
728x90
반응형
'TypeScript' 카테고리의 다른 글
[TS] 컴파일러, 그리고 tsc와 tsconfig.json (0) | 2024.09.07 |
---|---|
[TS] TypeScript 왜 배워야 할까? (2) | 2024.09.06 |
[TS] 유니온 타입(Union Type) (0) | 2024.08.02 |
[TS] 객체의 선택적 속성(optional property, 옵셔널 프로퍼티) (0) | 2024.07.24 |