Null 타입과 Undefined 타입

홍예림·2023년 1월 11일
0

서론

JavaScript의 변수

  • 느슨한 타입(loosely typed)의 동적(dynamic) 언어

  • 어떤 특정 타입과 연결되지 않으며, 모든 타입의 값으로 할당 (및 재할당) 가능

타입정의종류접근원본데이터 변경 시 기존데이터 형태
원시타입(Primitive Type)불변 값(변경할 수 없는 값)7가지 (Boolean, Null, Undefined, Number, BigInt, String, Symbol)변수 선언, 초기화, 할당 시 값이 저장된 메모리 영역에 직접적으로 접근(Access By Value)유지
참조 타입(ReferenceType)식별자로 참조할 수 있는 메모리 상의 값원시값 외 모든 객체변수가 가지고 있는 메모리 주소를 이용해서 변수의 값에 접근변경

이 중에서 Null 타입과 Undefined 타입은 공통적으로 불변하는 원시타입이며 '없음' 을 표현합니다. 차이점은 무엇일까요?


본론

Null vs Undefined

NullUndefined
형태리터럴(literal)전역변수
상태빈 값을 할당 (no value)값을 할당하지 않음 (is not known)
의도성O (빈 객체)✕ (자료형 없음)
반환하는 경우변수에 빈 객체를 할당함수에서 return하지 않음
typeof() 의 결과object(원시타입)undefinded

함께 알아두면 좋은 점

  • undefined == null은 참(true)이다.
  • null이 할당된 변수는 빈 값이 할당되었으므로, null이 아니다

    let a; // undefined
    let b = null; // null

    document.writeln(a === null); // false
    document.writeln(a === undefined); // true
    document.writeln(b === null); // true
    document.writeln(b === undefined); // false


결론


참고자료

profile
SYNC 5반 2023.07 - 2023.12

0개의 댓글