## 이해하기 쉬운 undefined 개요
### 정의
undefined는 자바스크립트에서 변수나 속성에 값이 할당되지 않은 경우에 반환되는 특수한 값입니다. JavaScript의 내장 글로벌 객체의 프롬프티 속성과 같습니다. 사용자로부터 아무런 입력이 없으면 프롬프티는 **undefined**를 반환합니다.
“`javascript
let name;
console.log(name); // undefined
“`
### 특징
* 일반적인 값 유형이 아닙니다.
* 값이 할당되지 않은 변수와 속성에 대해서만 사용됩니다.
* 명시적으로 undefined라는 값을 할당할 수 없습니다.
* typeof 연산자를 사용하면 “undefined”로 반환됩니다.
“`javascript
console.log(typeof undefined); // “undefined”
“`
### null과의 차이점
null 역시 값이 할당되지 않은 변수와 속성을 나타내는 특수한 값이지만, undefined와는 다음과 같은 주요 차이점이 있습니다.
* **원인:** undefined는 변수에 값이 할당되지 않은 경우에 발생하는 반면, null은 명시적으로 할당된 값입니다.
* **의도:** undefined는 변수나 속성이 아직 초기화되지 않았음을 나타내는 반면, null은 해당 값이 존재하지 않음을 나타냅니다.
* **값 할당:** undefined는 값을 할당할 수 없지만, null은 값을 할당할 수 있습니다.
### 응용 분야
undefined는 다음과 같은 경우에 유용하게 사용될 수 있습니다.
* 초기화되지 않은 변수를 식별합니다.
* 선택적 인수가 제공되지 않을 때 기본값을 제공합니다.
* 변수나 속성에 값이 있는지 여부를 확인합니다.
“`javascript
function greet(name) {
name = name || “World”;
console.log(“Hello, ” + name + “!”);
}
greet(); // “Hello, World!”
greet(“Alice”); // “Hello, Alice!”
“`
### 결론
undefined는 JavaScript에서 값이 할당되지 않은 변수와 속성을 나타내는 중요한 개념입니다. 명시적으로 할당된 null과의 차이점을 이해하는 것이 중요하며, 값 초기화, 기본값 제공, 조건 확인 등 다양한 응용 분야에서 사용할 수 있습니다.