자바스크립트에서 null과 undefined는 둘 다 없음을 의미하는 값이지만, 엄연히 의미가 다릅니다.
null은 빈 값을 할당했다는 것을 명시적으로 표현한 객체입니다.
undefined는 변수를 선언한 뒤에 값이 입력되지 않았다는 것을 암시적으로 표현한 값입니다.
console.log(typeof null); //object
console.log(typeof undefined); //undefined
그렇지만 null을 명시적으로 작성하기보다는 속성 자체를 정의하지 않는 것이 일반적입니다.
const user = {
name:'Sera',
age:null //이렇게 쓰진 않습니다
}
const user = {
name:'Sera' //아예 age 속성을 작성하지 않습니다
}
undefined도 직접적으로 작성하지 않습니다. 값이 정의되지 않은 변수에게 자동으로 부여되는 것이므로 undefined가 반환되는 경우를 명확히 알아야 합니다.
return하지 않았을 때