객체 구조 분해 할당을 시도할 때 발생할 수 있는 오류
오늘 객체 구조 분해를 사용하면서 이런 오류를 만났다.
TypeError: Cannot destructure property 'review' of 'result' as it is undefined
이 오류는 아래 코드를 사용하면서 발생했다.
let result;
const { review } = result;
이것보다 좀 더 길었지만 오류가 발생한 부분의 코드만 적었다. 현재 코드에서도 result가 undefined나 null일 수 있는데, 그러한 경우를 처리하는 코드를 넣지 않아 발생한 것이다.
그래서 아래처럼 보완했다.
let result;
if (!result) return;
const { review } = result;
조건문을 통해 result가 undefined나 null이면 함수를 종료하도록 하고 통과했을 때 review 값을 받을 수 있도록 했다.
또, 이러한 코드로도 오류를 해결할 수 있었다.
let result;
const { review } = result || {};
위 코드는 result가 undefined나 null이면 OR 연산자를 통해 빈 객체가 나오도록 한 코드이다.
이 오류를 해결하면서 객체 구조분해에 좀 더 익숙해지고, 이러한 오류가 발생하지 않도록 코드를 좀 더 세심하게 작성해야겠다는 생각을 하게 되었다.

'자바스크립트' 카테고리의 다른 글
FileReader api로 이미지 미리보기 (0) | 2024.08.15 |
---|---|
스로틀과 디바운스 (0) | 2024.08.14 |
ES2022에서 새로 추가된 top-level await (0) | 2024.07.25 |
콜백 지옥 (2) | 2024.07.24 |
map 메서드와 forEach 메서드 활용 (0) | 2024.07.23 |