둘 다 '없다'인데 다르다?
null
이라는 빈 값을 할당 한 것.var dog = null; // 변수 dog에 null이라는 빈 값 할당
null
은 객체로 취급되기 때문에, 변수 dog의 typeof는 object
로 출력된다.undefined
로 초기화함.undefined
가 반환된다면 초기화되지 않은 변수라는 것을 알 수 있음. undefined
로 출력된다.==
는 느슨한 비교형이며, 자바스크립트 엔진에 의해 암묵적으로 타입이 자동 변환되어 타입을 일치 시킨 후 같은 값인지 비교, 이를 암묵적 타입 변환
이라고 한다.===
는 엄격한 비교형이며, 타입도 같고 값도 같은 경우에 한하여 true가 반환된다. null은 의도적인 빈 그릇
undefined는 사과를 올려놓지 않은 빈 그릇
그릇이라는 것은 같지만 그릇의 활용은 다르다.