자바스크립트에서 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"
'JAVASCRIPT' 카테고리의 다른 글
datatype - BigInt , Symbol (0) | 2025.05.28 |
---|---|
자바스크립트의 다양한 데이터 타입 반환 (0) | 2025.05.28 |
null , array 의 data type 이 object 인 이유 (0) | 2025.05.27 |
+ 연산자의 역할 (0) | 2025.05.27 |
데이터 타입 확인 방법 (0) | 2025.05.27 |