-
[JavaScript] null, undefined, NaN 완벽 정복IT Study/FE 2023. 10. 5. 14:57728x90
null, undefined, NaN에 대해 완벽히 정복해 보겠습니다. (ㅋ_ㅋ)
🌟 Point null과 undefined는 값인 동시에 데이터 유형입니다.
1. undefined
undefined는 초기화되지 않은 변수의 기본 값으로,
변수를 선언하고 =(등호)로 값을 할당하지 않을 경우 이 변수는 undefined가 됩니다.
또 undefined는 배열에서 생성되지 않은 인덱스로 접근하려 했을 때 뜨기도 하는데요,
아직 없는 요소에 접근하려고 했기 때문에 undefined를 반환합니다.
즉, undefined는 아무것도 없음을 나타내는 값이죠.
또 undefined는 데이터 유형이기도 하는데요, 숫자와 문자열이 데이터 유형인 것처럼 undefined 또한 데이터 유형입니다.
그러나 undefined를 직접 값으로 할당해서는 안됩니다. (= undefined 절대 금지)
// 1. 변수 선언만 하는 경우 let x; console.log(x); // undefined // 2. 함수에 명시적인 반환이 없을 경우 function example() { } console.log(example()); // undefined // 3. 존재하지 않는 객체 속성에 접근한 경우 let person = { name: "John" }; console.log(person.age); // undefined (age 속성이 존재하지 않음)
2. null
null은 undefined와 유사히 데이터가 없다는 것을 의미합니다.
undefined는 변수에 새로운 값을 할당하지 않는 경우의 "기본 값"이 될 수 있지만,
null은 절대 기본 값이 될 수 없습니다.
해당 값을 사용하려면 개발자가 명시적으로 null을 설정해줘야 합니다.
이는 변수를 재설정하거나 정리하고 싶을 때 사용될 수 있습니다.
나중에 값이 설정되었는지를 확인하기 위해 if문을 써서 조건을 확인할 경우 특히 유용합니다.
// 1. 명시적으로 값이 없음을 나타낼 경우 let y = null; console.log(y); // null // 2. 변수 초기화 후에도 값이 없는 상태로 재설정할 경우 let z = "Hello"; z = null; console.log(z); // null // 3. 함수에서 명시적으로 null을 반환할 경우 function example2() { return null; // 값이 없음을 나타냄 } console.log(example2()); // null
3. NaN
undefined와 null은 그 자체로 유형이지만, NaN는 자체 유형이 아닌 숫자 유형이라고 할 수 있습니다.
NaN은 Not a Number, 즉 숫자가 아님을 나타내는 특수한 값으로
수학적인 연산에서 부적절히 연산이 수행되었을 때 발생할 수 있습니다.
let result = "hello" * 2; console.log(result); // NaN
최종 정리
undefined는 자바스크립트 엔진에 의해 자동으로 할당되는 값,
null은 개발자가 명시적으로 "값이 없음"을 표현(할당)하는 값입니다.
NaN은 비숫자 값으로 부적절한 수학 연산에서 발생하는 것으로 정리하면 좋겠군요... (그럼 20000...🍟)
'IT Study > FE' 카테고리의 다른 글
[코딩테스트 후기] 애플리케이션 보안 기업 `모니터랩` (Feat. 첫 코테) (9) 2023.11.06 [JavaScript] `==`, `===` (Feat. 값에 의한 참조, 주소에 의한 참조?) (2) 2023.10.10 [JavaScript] 변수 섀도잉 (0) 2023.10.02 [CSS3] ID 셀렉터와 클래스 셀렉터를 구분하여 사용하는 이유는? (0) 2023.09.28 TypeScript 5.2의 새로운 키워드: 'using' - 자원 관리의 혁신 (0) 2023.09.18