undeclared vs undefined

Raccoon·2025년 1월 14일
post-thumbnail

JS에서는 특정 상황에서 undefined에 대한 혼란이 있을 수 있다.

undeclared

undeclared 는 명시적으로 선언되지 않은 변수를 의미한다.

undeclared 라는 용어는 정확한 기술적 용어는 아니지만, 의미적인 측면에서 undefined 와 구분하기 위해 사용한다고 한다.

typeof

typeof 연산자는 자바스크립트에서 유일하게 변수가 선언되지 않았거나 정의되지 않았을 때도 오류를 발생시키지 않는다.

이것을 인지하고 undefined가 혼란을 야기할 수 있는 문제 상황을 살펴보자.

문제 상황

var studentName;
typeof studentName; // "undefined"

typeof doesntExist; // "undefined"

여기서 studentName 은 선언만 되어있고, doesntExist 는 선언조차 되어있지 않지만, 차이가 없이 "undefined" 를 반환한다.

두 변수 참조는 다른 상태이지만 개발자의 혼란을 불러일으킬 수 있다.

하지만 JS 개발자는 doenstExist는 선언이 되어 있지 않기 때문에 undeclared로 인지하고 있는 것이 옳다.

JS 개발자들은 undefined라는 용어를 만나면 그것이 undefined인지 undeclared인지를 혼동하지 않게 주의가 필요하다고 한다!!

profile
꾸준함을 목표로 합니다.

0개의 댓글