JAVASCRIPT

data type - undefined

funfunweb 2025. 5. 28. 18:23

자바스크립트에서 undefined는 값이 정의되지 않은 상태를 나타내는 기본 제공 데이터 타입입니다. 일반적으로 변수는 선언되었지만 초기화되지 않았을 때 undefined 값을 가집니다.

 

✅ 1. 변수 선언만 하고 값을 할당하지 않은 경우

let a;
console.log(a); // 출력: undefined
let a;
console.log(a);             // 출력: undefined
console.log(typeof a);      // 출력: "undefined"

변수 a는 선언만 되었고, 값이 할당되지 않았기 때문에 undefined입니다.

 

✅ 2. 존재하지 않는 객체 속성에 접근할 때

const person = { name: "John" };
console.log(person.age); // 출력: undefined

person 객체에는 age라는 속성이 없으므로 undefined가 반환됩니다.

 

✅ 3. 함수가 값을 명시적으로 반환하지 않을 때

function greet() {
  console.log("Hello");
}

let result = greet();
console.log(result); // 출력: undefined

greet() 함수는 return 문이 없기 때문에 자동으로 undefined를 반환합니다.

 

return 문이 있는 함수와 데이터 타입

 

✅ return 문이 있는 함수 예제

function greet() {
  return "Hello";
}

let result = greet();           // 함수 실행 결과를 result에 저장
console.log(result);            // 출력: "Hello"
console.log(typeof result);     // 출력: "string"

🔍 설명:

  • return "Hello";
    → 이 함수는 문자열 "Hello"를 반환합니다.
  • let result = greet();
    → 함수가 "Hello"를 반환하므로 result에는 "Hello"가 저장됩니다.
  • typeof result
    → "Hello"는 문자열이므로, typeof result의 결과는 "string"입니다.

 

✅ 4. 함수의 인자가 전달되지 않았을 때

function sayHi(name) {
  console.log("Hi", name);
}

sayHi(); // 출력: Hi undefined

name 인자에 값이 전달되지 않으면 자동으로 undefined가 됩니다.

 

✅ 5. 배열의 존재하지 않는 인덱스에 접근할 때

let arr = [10, 20, 30];
console.log(arr[5]); // 출력: undefined

인덱스 5에 값이 없기 때문에 undefined가 나옵니다.

 

✅ 6. undefined와 null의 차이

타입                                          의미                                                                                 typeof 결과

 

undefined 값이 정의되지 않음 "undefined"
null 명시적으로 값이 없음 "object"
let x;
let y = null;

console.log(typeof x); // "undefined"
console.log(typeof y); // "object"