## **undefined: 무엇이고 어떻게 사용하는지**

**정의**

`undefined`는 JavaScript에서 선언되지 않은 변수 또는 값이 할당되지 않은 변수에 액세스할 때 반환되는 특수한 값입니다. 즉, `undefined`는 값이 없는 것을 의미합니다.

**사용 사례**

`undefined`는 다음과 같은 여러 상황에서 사용될 수 있습니다.

* **선언되지 않은 변수:** `let` 또는 `const`를 사용하여 변수를 선언하지 않으면 변수는 자동으로 `undefined`로 설정됩니다.
“`js
let name;
console.log(name); // undefined
“`

* **값이 할당되지 않은 변수:** 변수를 선언했지만 값을 할당하지 않으면 변수는 `undefined`로 유지됩니다.
“`js
let name = “John”;
name = undefined;
console.log(name); // undefined
“`

* **프로퍼티 또는 메서드가 없는 객체:** 객체에 없는 프로퍼티 또는 메서드에 액세스하면 `undefined`가 반환됩니다.
“`js
const person = {
name: “John”,
};
console.log(person.age); // undefined
“`

**strict mode에서의 undefined**

strict mode에서 변수를 선언하지 않고 사용하면 오류가 발생합니다. strict mode는 개발자에게 코드의 문제를 더 쉽게 식별할 수 있도록 도와줍니다.
“`js
“use strict”;

name = “John”; // ReferenceError: name is not defined
“`

**undefined와 null의 차이점**

`undefined`와 `null`은 모두 JavaScript에서 값이 없는 것을 나타내는 값이지만, 다음과 같은 차이점이 있습니다.

* `undefined`는 선언되지 않은 변수 또는 값이 할당되지 않은 변수의 결과입니다.
* `null`은 명시적으로 할당된 값입니다(예: `let name = null`).

**주의 사항**

`undefined`를 다음과 같은 경우에 사용하지 않는 것이 좋습니다.

* 변수에 값이 없음을 나타내기 위해
* 함수의 반환 값을 나타내기 위해
* 조건문의 조건으로 사용하기 위해

이러한 상황에서는 대신 `null`, `false` 또는 다른 적절한 값을 사용하는 것이 좋습니다.

**결론**

`undefined`는 JavaScript에서 선언되지 않은 변수 또는 값이 할당되지 않은 변수를 나타내는 특수한 값입니다. 선언되지 않은 변수, 값이 할당되지 않은 변수, 객체에 없는 프로퍼티 또는 메서드에 액세스할 때 사용됩니다. strict mode에서는 undefined를 사용하지 않고 변수를 선언하지 않은 경우 오류가 발생합니다. `undefined`와 `null`은 값이 없는 것을 나타내는 값이지만, 명시적으로 할당된 값인지 여부에 따라 차이가 있습니다.

Comments

No comments yet. Why don’t you start the discussion?

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다