계발하는 개발자

[JS] undefined vs null 차이 본문

📌 Language/Javascript

[JS] undefined vs null 차이

dev_genie 2023. 6. 9. 11:41

자바스크립트에서 undefined와 null은 둘 다 값이 없음을 나타내는 특별한 값입니다.

그러나 이 두 값은 약간의 차이가 있습니다.

 

1. undefined

undefined는 변수가 선언되었지만 값이 할당되지 않은 경우에 자동으로 할당되는 원시값입니다.

예를 들어, 변수를 선언하고 초기화하지 않으면 해당 변수의 값은 undefined가 됩니다.

또는 함수에서 명시적으로 값을 반환하지 않으면 함수의 반환 값은 undefined가 됩니다.

Ex1 - 변수선언되었으나, 값이 할당되지 않은 경우)
let x;
console.log(x); // 출력: undefined

Ex2 - 함수에서 명시적으로 값을 반환하지 않은 경우)
function foo() {
  // 값이 반환되지 않음
}
console.log(foo()); // 출력: undefined

 

2. null

반면에 null은 변수에 의도적으로 값이 없음을 할당하는 데 사용됩니다.

null은 객체를 나타내는 값으로 사용될 수 있습니다. 즉, 변수가 객체를 참조하지 않는다는 것을 나타내기 위해 사용됩니다.

Ex - 변수에 의도적으로 '값이 없음'을 할당
let y = null;
console.log(y); // 출력: null

 

✔ undefined와 null은 타입도 다릅니다. undefined는 자료형 자체로 사용되지만, null은 객체 자료형입니다.

주의할 점은 == 연산자를 사용하여 undefined와 null을 비교할 때, 값이 같다고 판단됩니다.

하지만 === 연산자를 사용하면 값과 함께 자료형까지 비교하므로 undefined와 null은 다른 값으로 간주됩니다.

console.log(undefined == null); // 출력: true
console.log(undefined === null); // 출력: false
LIST
profile

dev_genie

@dev_genie

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!