JavaScript undefined if 문으로 하기 - Cannot read properties of undefined

undefined

Uncaught TypeError: Cannot read properties of undefined 오류가 발생하는 것을 확인하였습니다. 이때에는 JavaScript undefined if 문으로 하는 방법으로 처리를 해야 하는데요, 방법을 안내해드리겠습니다.

문제상황 : 무작위 게시물(랜덤포스팅) 부분에서 오류가 있습니다. json.feed.entry의 배열이 1인데 포스팅 개수만큼 반복하는 문제였습니다.

undefined 타입 여부를 확인하는 방법으로 해결하도록 하겠습니다. 타입을 확인하는 방법은 다음의 2가지 방법이 있답니다.

방법1 : ===

if (e === undefined) {
};

방법2 : typeof ==

if (typeof e == "undefined") {
};

=== 연산자와 == 연산자의 차이

===는 엄격한 동등 연산자(strict equal operator)로 비교 대상의 타입과 밸류를 모두 비교합니다.

==는 엄격하지 않은 동등 연산자(not strict equal operator)로 비교 대상의 밸류만 비교합니다.(비교하기 전에 캐스팅이 있습니다)

1 === '1'은 false입니다. 숫자 1와 문자 1의 타입이 다르기 때문입니다.

1 == '1'은 true입니다. 타입이 다르지만 밸류는 같기 때문입니다.

undefined 수정, 다음과 같은 방식으로 처리할 수 있답니다!

undefined element
if (e === undefined) {
}
else {
};

댓글