null과 undefined는 자바스크립트의 특별한 타입입니다.
null이 가질 수 있는 값은 null 하나뿐이며, undefined가 가질 수 있는 값도 undefined 하나뿐입니다.
null과 undefined는 모두 존재하지 않는 것을 나타냅니다.
그리고 이 둘을 서로 다른 데이터 타입으로 분리한 것은 끝없는 혼란을 낳았고, 특히 초보자들이 고생하고 있습니다.
일반적인 규칙을 제시한다면, null은 프로그래머에게 허용된 데이터 타입이며 undefined는 자바스크립트 자체에서 사용한다고 기억하십시오.
이 규칙이 강제는 아닙니다.
프로그래머도 언제든 undefined 값을 사용할 수는 있지만, 꼭 필요할 때만 사용하도록 주의해야 합니다.
필자가 변수에 직접 undefined를 할당하는 경우는, 아직 값이 주어지지 않은 변수의 동작을 고의로 흉내내야 할 때뿐입니다.
변수의 값을 아직 모르거나 적용할 수 없는 경우에는 대부분 null이 더 나은 선택입니다.
사소한 것에 지나치게 신경쓰는 것처럼 보일 테고, 어떤 면에서는 실제로 그렇기도 합니다.
초보 프로그래머들은 불확실할 때는 null을 사용하라고 배우니까요.
변수를 선언하기만 하고 명시적으로 값을 할당하지 않으면 그 변수에는 기본적으로 undefined가 할당됩니다.
다음은 null 과 undefined 리터럴의 몇 가지 예제입니다.
let currentTemp; // 암시적으로 undefined입니다.
const targetTemp = null; // 대상 온도는 null, 즉 "아직 모르는" 값입니다.
currentTemp = 19.5; // currentTemp에는 이제 값이 있습니다.
currentTemp = undefined; // currentTemp는 초기화되지 않은 듯 합니다. 권장하지 않습니다.