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
반응형

+ Recent posts