[JS] undefined와 null의 차이점

이지수·2024년 1월 15일

Javascript

목록 보기
1/7

undefined vs null

undefined은 변수를 선언하고 값을 할당하지 않은 상태, 즉, undefined는 자료형이 없는 상태를 말합니다.

null은 변수를 선언하고 의도적으로 빈 값을 할당한 상태(빈 객체) 를 말합니다.


따라서 'typeof 메서드'를 통해 자료형을 확인해보면

nullobject로,
undefinedundefined가 출력되는 것을 확인할 수 있습니다.


변수 선언

undefined와 null을 더 잘 이해하기 위해 간단하게 변수 선언 과정에 대해 알아봅시다.

변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름이라고 정의합니다.

위의 정의에 따르면 우리가 변수를 선언한다는 것은 해당 값을 저장할 메모리 공간을 확보하는 것입니다.

여기서 확보된 메모리 공간이 비어있을 것으로 생각할 수 있는데,
실제로는 자바스크립트 엔진에 의해 undefined라는 값이 암묵적으로 할당되어 초기화됩니다.

따라서 undefined값을 할당하지 않은 초기의 상태를,
null의도적으로 빈 값을 할당한 상태를 말한 다는 것을 알 수 있습니다.


주의할 점

undefinednull 모두 빈 값을 의미하지만, 자료형은 각각 undefinedobject로 다르기 때문에
동등 연산자(==)일치 연산자(===) 로 비교했을 때 결과는 아래와 같습니다.

undefined == null / true
undefined === null / false
profile
심미주의 맥시멀리스트의 우당탕탕 프론트엔드 도전기

0개의 댓글