정의되지 않은 (Undefined): JavaScript에서 무엇을 의미하는지 이해하기
정의되지 않은 (Undefined)의 의미
JavaScript에서 “undefined”는 변수가 선언되었지만 아직 값이 할당되지 않았거나 변수가 존재하지 않는 경우를 나타냅니다. 또한 함수가 리턴 값을 명시적으로 지정하지 않은 경우에도 “undefined”가 반환됩니다.
변수가 정의되지 않은 경우
다음 코드 살펴보세요.
let name;
console.log(name);
이 코드를 실행하면 콘솔에 “undefined”가 출력됩니다. “name” 변수는 선언되었지만 값이 할당되지 않았기 때문입니다.
존재하지 않는 변수
다음 코드 살펴보세요.
console.log(age);
이 코드를 실행하면 오류가 발생합니다. “age” 변수가 선언되지 않았기 때문입니다. 이러한 경우 콘솔에 “ReferenceError: age is not defined”라는 오류가 표시됩니다.
함수가 리턴 값을 반환하지 않는 경우
다음 코드 살펴보세요.
function greet() {
console.log("Hello!");
}
let greeting = greet();
console.log(greeting);
이 코드를 실행하면 콘솔에 “undefined”가 출력됩니다. “greet” 함수는 콘솔에 “Hello!”를 출력하지만 리턴 값을 명시적으로 지정하지 않았기 때문입니다.
null과의 차이점
“undefined”는 “null”과 유사하지만 차이점이 있습니다. “null”은 의도적으로 설정된 값이며 “없거나 비어 있음”을 나타냅니다. 반면 “undefined”는 변수가 존재하지 않거나 값이 할당되지 않은 경우 나타납니다.
“typeof” 연산자 사용하기
변수의 값이 “undefined”인지 확인하려면 “typeof” 연산자를 사용할 수 있습니다. 다음 코드 살펴보세요.
let name;
if (typeof name === "undefined") {
console.log("name 변수는 정의되지 않았습니다.");
}
결론
JavaScript에서 “undefined”는 변수가 정의되지 않았거나 함수가 리턴 값을 반환하지 않는 경우 나타납니다. “null”과 유사하지만 의도적으로 설정된 값이라는 점에서 차이가 있습니다. “typeof” 연산자를 사용하여 변수의 값이 “undefined”인지 확인할 수 있습니다.