옵셔널 체이닝 (optional chaining)
프로퍼티가 없는 중첩 객체를 에러 없이 안전하게 접근이 가능한 연산자
?. 앞의 대상이 없으면 평가를 멈추고 undefined를 반환한다.
너무 너무 유용한 연산자입니다..
왜 이제야 알았지
예를 들면
김테이라는 유저의 장바구니 목록 유무를 체크해서
장바구니가 빈 객체가 아니면 어떤 동작을 수행해야하는 상황
(1) 맨 처음 작성한 코드
if ( 유저.김테이.장바구니.물건 ) {
어쩌구저쩌구
}
→ 이러면 물건이 없는 경우 대상을 찾지 못해서 에러가 생김
(2) 그 후 수정한 코드
if ( 유저.김테이.장바구니 && 유저.김테이.장바구니.물건) {
어쩌구저쩌구
}
→ 동작은 한다. 하지만 영 찜찜하고 불편한 코드
(3) 옵셔널 체이닝 활용
if ( 유저.김테이.장바구니?.물건 ) {
어쩌구저쩌구
}
→ 정상적으로 동작하며 아주 깔끔해졌다.
이제 물건이 없다면 장바구니에서 평가를 멈추고 undefined를 반환한다.
'🧠 저장 > Javascript' 카테고리의 다른 글
function을 변수에 넣는 이유 (0) | 2023.11.01 |
---|---|
에러와 에러 객체 (0) | 2023.05.31 |
문자열 자르기 삼형제 비교 (substring, slice, split) ✂️ (0) | 2023.04.07 |
파일 업로드 확장자 제한, 같은 파일 첨부 막기 (0) | 2022.12.13 |
localStorage에 JSON을 쓰는 이유 (0) | 2022.11.24 |