Javascript

[JS] null과 undefined 차이

유호야 2023. 3. 4. 00:34
반응형

[JS] null과 undefined 차이

소개

JavaScript에서 null과 undefined는 매우 흔한 용어입니다.
이 둘은 모두 "값이 없음"을 나타내지만, 그 차이점은 무엇일까요?

null

null은 원시 데이터 유형으로, 값이 없음을 나타내는 데 사용됩니다.
변수를 선언하고 값을 할당하지 않았거나, 변수에 null을 할당하여 값이 없음을 나타낼 수 있습니다.

예를 들어:

let foo = null;
console.log(foo); // null

undefined

undefined는 변수가 선언되었지만, 값을 할당하지 않은 경우에 발생합니다.
함수에 매개변수를 전달하지 않은 경우나, 객체의 속성에 값이 없는 경우도 undefined가 반환됩니다.

예를 들어:

let bar;
console.log(bar); // undefined

function baz(a) {
  console.log(a);
}

baz(); // undefined

결론

반응형

null과 undefined는 모두 "값이 없음"을 의미하지만, 사용되는 상황이 다릅니다. null은 개발자가 직접 값이 없음을 할당하는 데 사용되고, undefined는 변수가 선언되었지만 값을 할당하지 않은 경우에 자동으로 할당됩니다. 또한, JavaScript에서는 null이 객체 유형이지만 undefined는 원시 데이터 유형입니다. 그래서 typeof 연산자로 확인할 때 결과 값도 다릅니다.

console.log(typeof null); // "object"
console.log(typeof undefined); // "undefined"

따라서, 변수를 선언할 때 값이 없는 상황이라면 undefined를 사용하고,
개발자가 직접 값이 없음을 할당해야 하는 상황이라면 null을 사용하는 것이 좋습니다. 

반응형