728x90
반응형
옵셔널 체이닝이란 null이나 nudefind인 값이 반환되면, 즉시 중단하고 undefined를 반환하는 문법입니다.
아마도 객체의 내부를 사용할 때
Object is possibly 'null'.ts(2531)
이라는 오류를 접하게 되었습니다.
null 값 처리 중 가장 나은 방법이 옵셔널 체이닝이라는 것을 알게 되었어요.
처음 보는 문법이라 정리해보았습니다!
const plusRoute = groupRouter?.route
옵셔널 체이닝은 객체 뒤에 ?를 사용하면 됩니다.
그렇다면 ?는 무슨 역할을 해주는 걸까요?
처음엔 선택적 프로퍼티라고 생각했어요.
하지만..!
선택적 프로퍼티랑 아예 다르더라고요.
(당연함..이름도 다름 ㅎ..)
const plusRoute = groupRouter ? groupRouter.route : null;
옵셔널 체이닝은 이렇게 삼항 조건 연산자와 비슷합니다.
값이 있다면 객체의 포인트를 사용할 수 있고 없다면 null로 체크되면서 실행이 중단되고 undefined로 반환됩니다.
if문을 사용할 경우 한 줄로는 처리가 힘든데 옵셔널 체이닝을 사용해서 한 줄로 처리해줄 수 있습니다.
객체뿐만 아니라 배열, 함수에서도 옵셔널 체이닝을 사용할 수 있어요!
728x90
반응형
'Language > TypeScript' 카테고리의 다른 글
[TS] TypeScript에서 Enum을 쓰면 안된다! (이유, 방안) (0) | 2022.10.13 |
---|---|
TypeScript + NodeJS(express) + MongoDB 조합으로 API 서버 만들때 주의할 점 (0) | 2022.09.28 |
TypeScript에서 <T>란 무엇일까? - Generic Type (1) | 2022.09.26 |
[TypeScript] object vs. Object 차이점 (0) | 2022.08.29 |
[TypeScript] Property 'user' does not exist on type 'Session & Partial<SessionData>'. ts(2339) 해결 (0) | 2022.07.01 |
댓글