JavaScript의 `null`과 `undefined`

BossTeemo·2024년 5월 3일
post-thumbnail

JavaScript에서의 nullundefined

소개

JavaScript에서 nullundefined는 모두 값이 없음을 나타내지만, 서로 다른 의미와 용도를 가집니다. 이 둘의 차이를 이해하는 것은 JavaScript에서 데이터를 다루는 데 중요합니다.

undefined란?

  • 정의: 변수가 선언되었지만 값이 할당되지 않은 상태를 나타냅니다.

    let x;
    console.log(x); // undefined
  • 용도: 함수에서 반환 값을 명시적으로 지정하지 않으면 undefined가 반환됩니다.

    function greet() {}
    console.log(greet()); // undefined
  • 객체 프로퍼티가 없는 경우: 객체의 프로퍼티에 접근하려고 할 때 해당 프로퍼티가 없다면 undefined를 반환합니다.

    let obj = {};
    console.log(obj.nonExistentProperty); // undefined

null이란?

  • 정의: null은 의도적으로 값이 없음을 나타내는 값입니다.

    let y = null;
    console.log(y); // null
  • 용도: 주로 변수가 객체를 참조하지 않음을 명시적으로 표현할 때 사용됩니다.

    let user = { name: 'Alice' };
    user = null; // 객체 참조 해제

nullundefined의 차이점

  1. 유형: typeof 연산자로 확인하면 null'object'이고, undefined'undefined'로 나타납니다.

    console.log(typeof null); // 'object'
    console.log(typeof undefined); // 'undefined'
  2. 값 없음의 표현: undefined는 변수가 선언되었지만 값이 없는 경우를 나타내고, null은 명시적으로 값이 없음을 표현합니다.

  3. 객체 초기화: null은 객체를 초기화하거나 값이 없음을 의도적으로 나타낼 때 사용합니다.

  4. 엄격한 비교: === 연산자를 사용하여 엄격한 비교를 하면 nullundefined는 다르게 인식됩니다.

    console.log(null === undefined); // false
    console.log(null == undefined); // true

결론

JavaScript에서 nullundefined는 값이 없음의 개념을 다르게 나타냅니다. null은 명시적으로 값이 없음을 나타내며, undefined는 초기화되지 않은 변수를 의미합니다. 이 둘의 차이를 이해하여 올바르게 사용하세요.

profile
1인개발자가 되겠다

0개의 댓글