"모던자바스크립트 Deep Dive - 이웅모"를 일고 정리한 글입니다.
undefined
& null
설명
undefined
를 직역하면 '정의되지 않은'이라는 뜻이다.null
은 변수에 값이 없다는 것을 의도적으로 명시할 때 사용된다.undefined
로 초기화 한다.undefined
는 개발자가 의도적으로 할당하기 위한 값이 아니라 자바스크립트 엔진이 변수를 초기화할 때 사용하는 값이다.undefined
를 개발자가 의도적으로 변수에 할당한다면 undefined
의 본래 취지와 어긋날뿐더러 혼란을 줄 수 있으므로 권장하지 않는다.null
을 할당하는 것은 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미이다.공통점
undefined
와 null
의 공통점은 둘 다 그 자신이 유일한 값이다.undefined
타입은 undefined
가 유일하고 null
타입은 null
이 유일하다.차이점
undefined
는 정의되지 않은 값이므로, 빈값임을 명시하고 싶을때는 null
을 변수에 할당해 주어야 한다.주의점
typeof
로 변수의 타입을 찾을 때undefined
는 typeof
로 undefined
가 출력된다.null
은 typeof
로 확인하면 object
가 출력된다.null
과의 비교로 null
값인지 여부를 체크할 수 있다.typeof undefined // 'undefined'
typeof null // 'object'
null === null // true