내배캠 4기 React - TIL
221227 TIL
찌우닝
2022. 12. 28. 19:28
팀원분이 filter 함수를 쓰려고 했는데 적용이 되지 않아서 찾아보시고 옵셔널 체이닝을 쓰니 적용이 됐다고 했다.
저 물음표가 뭐길래 되는건지 궁금해서 찾아보았다.
?. 은 ?. '앞'의 평가 대상이 undefined나 null이면 평가를 멈추고 undefined를 반환한다.
연산자는 아니고 함수나 대괄호와 함께 동작하는 특별한 문법 구조체라고 한다.
?. 를 계속 연결해서 체인을 만들면 중첩 프로퍼티들에게 안전하게 접근할 수 있다.
그러나 남용은 금물! 왼쪽 평가대상이 없어도 괜찮은 경우에만 선택적으로 사용해야 함!!
옵셔널 체이닝 문법 ?. 세 가지 형태
1. obj?.pro : obj가 존재하면 obj.prop을 반환하고, 그렇지 않으면 undefined를 반환함
2. obj?.[prop] : obj가 존재하면 obj[prop]을 반환하고, 그렇지 않으면 undefined를 반환함
3. obj?.method() : obj가 존재하면 obj.method()를 호출하고, 그렇지 않으면 undefined를 반환함