옵셔널 체이닝(Optional Chaining)

YS·2023년 2월 1일
0

옵셔널 체이닝이란?
?. 와 같은 연산자이며, ?. 앞의 평가 대상이 undefinednull 이면 평가를 멈추고 undefined를 반환한다.

이를 왜 쓰는가?

let users = {};
console.log(users && users.user && users.user.name)

우리는 user 안에 뭐가 들었는지 모른다는 가정하에 users안에 user안에 name에 접근하기 위해서는 위와 같이 코드를 작성할것이다.
허나 이를 옵셔널 체이닝을 사용하면 다음과 같이 간소화 할 수 있다.

let users = {};
console.log(users?.user?.name);

? 앞에 값이 null인지 판단하고 null일 경우 undefined를 반환한다.
이와 같이 가독성을 향상 시킬 수 있다.

주의 사항

  • ?. 앞의 변수는 꼭 선언되어 있어야 한다 : 옵셔널 체이닝은 선언이 완료된 변수를 대상으로만 동작한다.
  • 옵셔널 체이닝을 남용하면 안된다 : ?. 연산자는 존재하지 않아도 괜찮은 대상에만 사용해야 한다. 남용할 경우 추후에 디버깅에 많은 어려움을 느낄 수 있다.
profile
"나의 개발 노트"

0개의 댓글