언디파인드(undefined) 이해하기
정의
언디파인드(undefined)는 자바스크립트에서 변수나 속성이 할당되지 않은 상태를 나타내는 특수한 값입니다. 다른 프로그래밍 언어에서의 ‘null’과 유사하지만, 자바스크립트에서는 두 가지 개념이 명확히 구분됩니다.
언디파인드와 null의 차이점
| 특징 | 언디파인드 | null |
|—|—|—|
| 정의 | 변수나 속성이 할당되지 않았음 | 값이 명시적으로 ‘null’로 할당됨 |
| 값 | `undefined` | `null` |
| typeof 연산자 | “undefined” | “object” |
언디파인드 발생 원인
언디파인드는 다음과 같은 경우 발생합니다.
* 변수가 선언되지만 값이 할당되지 않음
* 변수에 할당된 값이 삭제됨
* 함수가 인수 없이 호출됨
* 객체의 없는 속성에 접근함
언디파인드 확인하기
언디파인드를 확인하려면 `typeof` 연산자를 사용합니다.
“`javascript
const myVar = undefined;
console.log(typeof myVar); // “undefined”
“`
언디파인드 처리
언디파인드를 처리하는 방법은 다음과 같습니다.
* `if (typeof variable === “undefined”)` 문을 사용하여 언디파인드를 확인하고 대체 값을 할당
* 삼항 연산자를 사용하여 기본값을 설정
* 디폴트 파라미터를 사용하여 함수의 인수를 처리
* 선택적 체이닝 연산자를 사용하여 객체의 없는 속성에 안전하게 접근
예시
“`javascript
// if 문을 사용하여 언디파인드 확인 및 처리
if (typeof myVar === “undefined”) {
myVar = “기본값”;
}
// 삼항 연산자를 사용하여 언디파인드 처리
const myValue = myVar ? myVar : “기본값”;
// 디폴트 파라미터를 사용하여 함수 인수 처리
function myFunction(arg = “기본값”) {
// …
}
// 선택적 체이닝 연산자를 사용하여 객체의 없는 속성에 안전하게 접근
const myObject = {
name: “홍길동”,
};
const myName = myObject?.age ?? “나이 정보 없음”;
“`
결론
언디파인드는 자바스크립트에서 변수나 속성이 할당되지 않은 상태를 나타내는 특수한 값입니다. 다른 프로그래밍 언어의 ‘null’과 유사하지만, 두 가지 개념이 명확히 구분됩니다. 언디파인드를 이해하고 올바르게 처리하는 것은 자바스크립트 프로그램의 명확성과 안정성을 높이는 데 중요합니다.
답글 남기기