[undefined/null] undefined 와 null 의 차이

양다혜·2023년 5월 7일
0

undefined과 null의 공통점

  • 타입명의 값이 유일
  • undefined 타입의 값은 undefined가 유일
  • null 타입의 값은 null이 유일

undefined

  • 원시자료형 undefined로 분류
  • 선언한 후에 아무것도 할당받지 않은 상태를 의미
  • var 키워드로 선언한 변수는 암묵적으로 undefined로 초기화 됨
  • 변수 선언에 의해 확보된 메모리 공간을 처음 할당이 이루어질 때까지 빈 상태로 내버려두지 않고 js엔진이 undefined로 초기화
  • 따라서 변수를 선언한 이후 값을 할당하지 않은 변수를 참조하면 undefined가 반환
  • 변수를 참조했을 때 undefined가 반환된다면 선언 이후 값이 할당되지 않은, 초기화되지 않은 변수인 것
  • 개발자가 의도적으로 할당하기 위한 값이 아니라 js엔진이 변수를 초기화할 때 사용하는 값
    var a;
    console.log(a);
    console.log(typeof a); // undefined 출력

null

  • 원시자료형 null로 분류
  • js는 대소문자를 구분하기 때문에 Null, NULL 과 다름
  • 프로그래밍 언어에서 null은 변수에 값이 없다는 것을 의도적으로 명시할 때 사용
  • 변수에 null을 할당하는 것은 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미
  • 이는 이전에 할당되어 있던 값에 대한 참조를 명시적으로 제거하는 것 의미
  • js엔진은 누구도 참조하지 않은 메모리 공간에 대해 가비지 콜렉션 수행
    let b = null;
    console.log(b);
    console.log(typeof b); // object 출력
profile
아는 것을 잘 설명할 수 있는 개발자되기👩🏻‍💻

0개의 댓글