정의되지 않음 (undefined)
정의되지 않음이란?
자바스크립트에서 undefined
는 변수가 선언되었지만 값이 할당되지 않은 경우를 나타냅니다. 또한 함수가 아무런 값도 반환하지 않을 때도 undefined
가 반환됩니다.
정의되지 않음의 예
다음 코드는 변수 x
를 선언하지만 값을 할당하지 않습니다.
“`js
let x;
console.log(x); // undefined
“`
다음 코드는 아무런 값도 반환하지 않는 함수를 정의합니다.
“`js
function myFunction() {
// 아무것도 반환하지 않음
}
console.log(myFunction()); // undefined
“`
정의되지 않음 확인
변수 또는 함수가 정의되었는지 확인하려면 typeof
연산자를 사용할 수 있습니다. undefined
인 경우 다음과 같이 출력됩니다.
“`js
console.log(typeof undefined); // “undefined”
“`
정의되지 않음 처리
정의되지 않은 값을 처리하는 일반적인 방법은 다음과 같습니다.
* if
문을 사용하여 정의되지 않음을 확인한 다음 대체 값을 할당하거나 대체 동작을 수행합니다.
* 삼항 연산자
를 사용하여 정의되지 않은 값에 대한 대체 값을 지정합니다.
* 선택적 체이닝 연산자
를 사용하여 정의되지 않은 속성에 액세스할 때 오류가 발생하지 않도록 합니다.
예시
다음 코드는 x
가 정의되지 않은 경우 기본값을 할당합니다.
“`js
let x = undefined;
x = x ?? “기본값”;
console.log(x); // “기본값”
“`
다음 코드는 삼항 연산자
를 사용하여 정의되지 않은 값에 대한 대체 값을 지정합니다.
“`js
let x = undefined;
let y = x !== undefined ? x : “기본값”;
console.log(y); // “기본값”
“`
다음 코드는 선택적 체이닝 연산자
를 사용하여 정의되지 않은 속성에 안전하게 액세스합니다.
“`js
let object = {
name: “John”,
age: 30
};
console.log(object?.address?.city); // undefined (object에 address 속성이 없으므로)
“`
결론
정의되지 않음은 자바스크립트에서 변수나 함수의 상태를 나타내는 중요한 값입니다. 변수를 선언하고 값을 할당했는지, 함수가 값을 반환하는지 확인하여 지정되지 않은 값으로 인한 오류를 피하는 것이 중요합니다. 정의되지 않음을 처리하는 기술을 이해하면 코드의 안정성과 유지 보수성을 향상시킬 수 있습니다.