한 줄 요약
undefined : 누락으로 인해 값이 정해지지 않은 경우 JS가 자동으로 부여
null : 개발자가 "명시적"으로 값이 없다는 것을 표현할 때 사용
NaN : 숫자끼리 계산을 했을 때 결과가 숫자가 아닌 경우 (Not a Number) -> 계산 실수나 입력 에러가 있음을 의미
undefined : "이게 빈 건지 인지하지 못했는데..." -> JS가 자동으로 할당
let age;
console.log(age);
null : "이건 빈 값이 들어있어." -> 개발자가 의도적으로 값이 없음을 명시
let age2 = null;
console.log(age2);
NaN : "너 이거 숫자 결과 의도한건데, 연산 결과 숫자 아니야."
1. 입력한 값이 숫자만 입력되어야 하는 경우
let age3 = prompt("나이를 입력하세요 : "); // prompt로 입력된 것은 무조건 문자열
let numAge = Number(age3); // 문자열 -> 숫자로 변환 (만약에 문자를 숫자로 변환하려고 하면 NaN이 저장됨)
// 변환된 값이 숫자인지 판단
if (Number.isNaN(numAge)) {
console.log("잘못 입력했어요. 숫자 형태로 입력해주세요.");
} else {
console.log("숫자 잘 입력했어요.");
}