- 어떨때 값이 null이 되고 undefined으로 저장되는지 가능한 모든 케이스의 js 코드를 작성한다.
- 각 케이스의 코드상에 저장된 변수가 왜 null이고 undefined인지 원인을 설명한다.
- 비교연산자를 활용하여 각각의 케이스에 따라 null인지 undefined인지 확인하는 코드를 작성한다.
자바스크립트에서 null
은 원시타입으로 나타낸다. null
값은 빈 값, 값이 없다는 의미로 의도적으로 비어있음을 표현할 때 사용이 된다.
// null을 할당한 경우
let value = null;
console.log(value); // null
// 값이 할당된 변수에 null을 재할당한 경우
let name = "홍길동";
name = null;
console.log(name); // null
undefined
도 자바스크립트에서 원시타입이다. 변수를 선언한 후 값을 할당하지 않았을 때, 주어지지 않은 인수에 자동으로 할당 되었을 때 나타난다.
// 값이 할당되지 않은 경우
let value1;
console.log(value1); // undefined
// undefined를 할당한 경우
let value2 = undefined;
console.log(value2); // undefined
// 주어지지 않은 속성에 접근했을 경우
let people = {
name: "홍길동",
age: "25",
}
console.log(people.gender); // undefined
let subject = ["수학", "과학", "국어"]
console.log(subject[3]); // undefined
// return문이 없을 경우 함수를 호출했을 때
function func() {};
console.log(func()); // undefined
null
과 undefined
둘다 값이 없는 것을 의미하지만, undefined
는 주어지지 않은 인수에 자동으로 할당되는 것 처럼 만약 명시적으로 값이 없다고 나타내려면 null
을 사용하는게 좋다고 생각한다.
function checkValue(value) {
if (value === null) {
console.log("null 입니다.");
}
else if (value === undefined) {
console.log("undefined 입니다.");
}
else console.log(value);
}
let value = null;
let people = {
name: "홍길동",
age: "25"
};
checkValue(value) // null 입니다.
checkValue(people) // { name: '홍길동', age: '25' }
checkValue(people.name) // 홍길동
checkValue(people.gender) // undefined 입니다.
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스 완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성 되었습니다.
정보 감사합니다.