오늘 뭐했냐/개발에 대한 주저리

null과 undefined

스스로에게 2023. 6. 13. 11:05

둘 다 없음을 나타내는 값인데 뭐가 다를까 

 

undefined : 일반적으로는 자바스크립트 엔진에서 값이 있어야 할 것 같은데 없는 경우, 자동으로 부여, 직접 지정할 수도 있는데 엔진이 그런건지 사용자가 그런건지 확인할 수 없기에 '없다'라는 것을 명시적으로 표현할 땐  사용을 하지 말자  

  • 변수에 값이 지정되지 않은 경우, 데이터 영역의 메모리 주소를 지정하지 않은 식별자에 접근할 때
  • .이나 []로 접근하려 할 때, 해당 데이터가 존재하지 않는 경우
  • return 문이 없거나 호출되지 않는 함수의 실행 결과

null : ‘없다’를 명시적으로 표현할 때 사용한다

console.log(typeof(null)) // object

이건 유명한 JS 자체 버그다 그리고 JS에서는 대소문자를 구분해 null, Null, NULL 셋 모두 다른 값이니 주의하자 

'오늘 뭐했냐 > 개발에 대한 주저리' 카테고리의 다른 글

this와 this바인딩  (0) 2023.06.14
실행 컨텍스트 (스코프, 호이스팅, 렉시컬 환경)  (0) 2023.06.13
깊은 복사와 얕은 복사  (0) 2023.06.13
데이터 타입과 메모리  (0) 2023.06.12
Set  (0) 2023.05.24