undefined: 개요 및 응용
undefined란?
“undefined”는 JavaScript에서 선언되었지만 값이 할당되지 않은 변수 또는 속성을 나타냅니다. 다른 프로그래밍 언어에서는 “null”이라는 개념과 유사하지만, JavaScript의 경우 두 용어가 구별됩니다.
undefined의 특징
typeof
연산자를 사용하면 undefined의 자료형은 “undefined”로 반환됩니다.===
연산자를 사용하여 undefined를 다른 어떤 값과도 비교하면 false를 반환합니다.==
연산자를 사용하여 undefined를 null과 비교하면 true를 반환합니다(자바스크립트에서 null은 객체의 하위 유형으로 간주됨).
undefined의 응용
undefined는 다음과 같은 여러 응용 분야에 사용됩니다.
1. 초기화 플래그:
변수가 아직 초기화되지 않았는지 판단하는 데 사용할 수 있습니다.
let myVariable;
if (myVariable === undefined) {
// 변수가 아직 초기화되지 않음
}
2. 기본값 제공:
||
연산자와 함께 사용하면 변수에 기본값을 제공하는 데 사용할 수 있습니다.
const myValue = inputValue || "기본값";
3. 오류 처리:
함수에서 인수가 전달되지 않거나 잘못된 값이 전달된 경우 오류를 생성하는 데 사용할 수 있습니다.
function myFunction(인수) {
if (인수 === undefined) {
throw new Error("인수가 전달되지 않았습니다.");
}
4. 객체 속성 검사:
in
연산자와 함께 사용하면 객체에 특정 속성이 있는지 확인하는 데 사용할 수 있습니다.
const obj = {
속성1: "값1",
속성2: "값2"
};
if ("속성3" in obj) {
// 객체에 속성3가 있습니다.
}
5. ES6 심볼:
ES6 심볼은 객체의 고유한 식별자로 사용되며 undefined와 비교하면 false를 반환합니다.
const symbol = Symbol("내심볼");
if (symbol === undefined) {
// 심볼이 undefined가 아닙니다.
}
주의 사항
- undefined는 falsy 값이므로 조건문에서 false로 평가됩니다.
- undefined의 자료형은 명시적으로 “undefined”로 검사해야 합니다(예:
typeof variable === "undefined"
). - undefined와 null은 서로 다르므로 응용 분야에 따라 적절히 구별하여 사용해야 합니다.