티스토리 뷰
null과 undefined가 뭘까?
null도 값이 없고 undefined도 값이 없다.
뭐야 그럼 같은거 아닌가? 하겠지만 다르다.
콘솔이 같다는데요?
값이 없다는 특성은 같긴 하지만 엄연히 다르다.
대체 어디가 다르냐고?
자료형부터 다르다.
undefined는 그 이름 그대로 자료형마저 정의되지 않은 상태라서 값이 없는 것이다.
null은 값이 없다는 상태로 정의된 것이다.
비유적인 이야기로 설명해보자.
undefined는 아직 신검을 받지 않은 사람이고
null은 병역 판정 5급, 즉 면제를 받은 사람이라고 보면 되겠다.
군대 경험이 없다는건 공통점이지만 신검 급수가 뭔지 알아보면 undefined는 아직 신검을 안 받아서 값이 없는 것이고 null은 5급 이라고 나오는 것이다.
자, 이제 비유적인 이야기는 되었으니 컴퓨터의 세계에서 알아보자.
https://stackoverflow.com/questions/50854916/javascript-memory-impact-of-null-vs-undefined
스택오버플로우에서 찾아보니 null 보다 undefined가 글자수가 많아 undefined가 4byte를 더 먹는다고 한다.
그리고 가비지 콜렉터가 null과 undefined는 인식하지않는다고 한다.
차이가 아주 작지만 null이 살짝 더 앞서는 걸 볼 수 있다.
그러니 코딩할 때 값이 없는 걸 활용하고 싶다면 undefined보단 null을 애용하도록 하자.
'Programming Language > JavaScript' 카테고리의 다른 글
프레임워크와 라이브러리의 차이는 무엇일까? (0) | 2020.04.28 |
---|---|
AJAX란? (0) | 2020.04.12 |
30 JavaScript Day 6 - ajax-type-ahead (0) | 2020.04.05 |
30 JavaScript Day 5 - Flex Panels Image Gallery (0) | 2020.03.26 |
30 JavaScript Day 4 - Array Cardio (0) | 2020.03.23 |