
이 글은 코드팩토리님의 JavaScript 문법강의를 본 후 정리한 글입니다.
Undefined 타입이란 사용자가 직접 값을 초기화하지 않은 경우 지정되는 값입니다.
let noInit;
console.log(noInit);
console.log(typeof noInit);
>> undefined
>> undefined
하지만 Undefined 타입으로 값을 초기화하는 것은 지양해야합니다. 이런식으로는 코드를 짜면 안된다 이말입니다.
자바스크립트 안에서 undefined 타입과 비슷하게 값이 없다는 의미로 null을 사용할 수 있습니다.
let noInit = null;
console.log(noInit);
console.log(typeof noInit);
>> null
>> object
undefined의 형태로 값처럼 초기화하지 않는 것보단 null을 이용해야 합니다.
null은 object 타입이 아닙니다. 그런데도 자바스크립트에서는 타입을 찍으면 object가 나오는데요. 이것은 버그입니다. 그런데도 수정하지 못하는 이유는 null이 object타입으로 취급되어 작성된 코드가 많기 때문에 수정하지 않는것입니다.