null
- 자바 스크립트에서의 null은 아무 '값'도 가지고 있지 않은 '빈 값'을 의미한다. 즉 빈 값을 할당한 상태.
- 항상 '소문자'로 사용해야한다.
- type of하면 object(참조자료형)이란 결과를 출력한다.
undifined
- JSON에서는 undefined 타입을 제공하지 않는다.
- 자바 스크립트에서 '값' 자체가 없다는 의미다. 즉 값을 할당하지 않은 상태.
- '초기화되지 않은 변수'나 '존재하지 않는 값'에 접근할 때 반환한다.
- type of를 하면 undifined가 출력된다.
차이점
- 자료형(type of)이 다르다.
- 둘다 값이 없지만 의도적과 못한것의 차이가 있다.
간단하게 null은 값을 의도적으로 비운거고 undifined는 정말 정하지 못한것이다.
공통점
- 둘다 타입 명이 동일하다
- 값 없음을 나타내는것이 같다. null == undifined true
그럼 굳이! 왜! 둘로 나눠 사용하느냐?
즉 대입한적 있는것과 대입한적도 없는 손대지 않은것을 구분해야하기 때문이다.