📗null 자료형과 undefined 자료형

앞서 자료형 파트에서 잠시 이야기했듯, 자바스크립트에는 null 자료형과 undefined라는 자료형이 존재합니다.

null 자료형

null 자료형 카테고리에는 null 이라는 딱 한 가지 값 밖에 없습니다.

그리고 null"아무런 가치가 없다", 혹은 "무효다" 등의 의미를 갖고 있습니다.

보통 일반적으로 어떤 변수를 사용하다가 더 이상 쓸모가 없을때,

"이 변수는 우리에게 더 이상 아무런 가치가 없어"

라는 의미에서 null 을 할당해주고 사용하곤 합니다.

// 아래에서 재할당을 하기 때문에 `let`을 사용합니다.
let myFavoriteFruit = "Banana";
myFavoriteFruit = null;

undefined 자료형

undefined 자료형 카테고리에도 undefined 라는 단 한 가지 값만 존재합니다.

undefined"정의되지 않은"이라는 의미입니다.

단어의 의미가 수동태 형태를 띄는 것처럼, 우리가 명시적으로 할당을 함으로서 undefined 라는 값을 사용하는 경우는 없습니다.

아직 다양한 내용을 이야기하지 못해서 예시가 제한적이지만, 아래와 같은 상황이 있을 수 있습니다.

let k;
console.log(k); // ?

위의 예시를 보면, 우리가 명시적으로 undefined 를 할당하지 않았고, 암묵적으로 undefined를 할당 당했습니다. 이 예시가 매우 이상적이진 않지만, 맥락만 보시면, undefined 는 이와 같이 암묵적으로 값의 할당이 발생한다고 보시면 좋을것 같습니다.

조만간 조금 더 다양한 케이스를 보여드릴 시간이 다가올 예정이니, 조금만 기다려주세요. 🤓

아래와 같이 명시적으로 undefined 를 할당하는 코드는 절대 작성하지 마세요. 살면서 무슨 일이든 예외는 있다지만, 이건 예외가 없습니다. 🙅🏻‍♂️

// DON'T DO THIS! 🚫
const something = undefined;

null 과 undefined 의 차이점

"가치가 없다"는 의미와 "정의되지 않았다"는 의미는 분명 다릅니다. 이를 잘 기억하세요. 💁🏻‍♂️

Last updated