오늘 뭐했냐/개발에 대한 주저리
null과 undefined
스스로에게
2023. 6. 13. 11:05
둘 다 없음을 나타내는 값인데 뭐가 다를까
undefined : 일반적으로는 자바스크립트 엔진에서 값이 있어야 할 것 같은데 없는 경우, 자동으로 부여, 직접 지정할 수도 있는데 엔진이 그런건지 사용자가 그런건지 확인할 수 없기에 '없다'라는 것을 명시적으로 표현할 땐 사용을 하지 말자
- 변수에 값이 지정되지 않은 경우, 데이터 영역의 메모리 주소를 지정하지 않은 식별자에 접근할 때
- .이나 []로 접근하려 할 때, 해당 데이터가 존재하지 않는 경우
- return 문이 없거나 호출되지 않는 함수의 실행 결과
null : ‘없다’를 명시적으로 표현할 때 사용한다
console.log(typeof(null)) // object
이건 유명한 JS 자체 버그다 그리고 JS에서는 대소문자를 구분해 null, Null, NULL 셋 모두 다른 값이니 주의하자