optional chaining
연산자는 참조나 기능이 undefined 또는 null일 수 있을 때 연결된 객체의 값에 접근하는 단순화할 수 있는 방법을 제공한다.
예를 들어 리액트를 사용한다고 쳤을때, user를 state에 불러오는 페이지가있다. 근데 가끔가다 user를 먼저 못 불러오고 페이지를 먼저 불러올때가있는데, 이때 에러가 발생한다. 이를 방지하고자 user !== null && ...
이런 비슷한 코드로 길게 길게 방어적인 코드를 작성하기 일쑤였는데, 다음 코드 한문장이면 된다.
// 이렇게 물음표만 붙여주면됨
const user = state?.user;
?를 붙여주면 state.user의 값에 접근하기전에 undefined이나 null이 아니라는 점을 검증해준다.
이는 state.user에 직접 접근할 때 일어날 수 있는 에러를 방지해준다.
예시로 state?.user를 들었지만 어떠한 참조값이든 간에 ?를 붙여주면 활용이 가능하다.