JavaScript의 데이터 형식
JavaScript의 데이터 형식에는 다음과 같은 형식이 있다.
1. 기본 형식
- String
- Number
- Boolean
2. 합성(참고) 형식
- Object
- Array
3. 특정 형식
- null
- undefined
이 중 null과 undefined특정 형식에 대해서 알아보자
null
널은 보통 객체 타입의 특수한 값, 즉 어떠한 객체도 나타내지 않는 값으로 취급된다고 한다. 어떤 변수가 null값을 가진다면, 그 변수는 기본 형식이나 합성 형식의 값을 담고 있지 않다는 것을 의미한다. 그래서 어떤 변수의 값을 초기화 하고 싶을 때에는 null을 사용한다.
💡null의 사용
null은 숫자 문맥에서 사용되면 0으로 변환되며,
문자열 문맥에서는 "null"로,
Boolean 문맥에서는 false로 변환된다.
undefined
선언은 되었지만 값이 할당된 적이 없는 변수에 접근하거나, 존재하지 않는 객체 프로퍼티에 접근할 경우 반환되는 값이다. 존재하지 않는 값의 변수를 호출하도록 하는 등 호출상 오류를 나타내는 특정형식이라고 생각하면 쉽다.
실제 페이지에서 변수 자체에 대한 undefined 호출 오류가 발생하게 되면 해당 오류가 발생된 <script> ~ </script> 로 감싸진 블럭 내의 이후 구문들이 실행되지 않는다고 한다. 이러한 치명적인 오류를 막기 위해서 undefined에 대한 체크가 선행되어야 한다. 이 때 사용되는 것이 typeof 연산자이다.
typeof 연산자
이 연산자는 형식 정보들을 다음 중 하나의 문자열로 변환해준다.
number, string, boolean, object, function, undefined, symbol..
if (typeof a == "undefined") {
console.log("a가 존재하지 않음.");
}
위와 같이 undefined 여부를 체크해줄 수 있다.
💡HTML의 DOM요소를 가져오는 경우
HTML의 요소를 가져오면 object가 리턴된다. 따라서 존재하지 않는 id의 요소를 호출하면 null인 object가 호출된다. 이와 같은 경우에는 typeof의 체크를 해줄 필요가 없다.
console.log(typeof $('#hello'));
💡JSON 객체의 경우
JSON 객체의 경우 let으로 만들고 난 이후 호출시 존재하지 않는 값인 경우 자동으로 해당 멤버변수가 생성이 되기 때문에 변수 자체의 존재하지 않음으로 인한 오류 발생은 발생하지 않으며 해당 멤버변수의 값은 undefined가 된다.
let json = [];
console.log(typeof json); // object 반환
console.log(typeof json[1]); // undefined 반환
관련 Utills
1) 문자열이 비어있음을 판별할 때
빈 문자열은 조건문 안에서 false가 된다고 한다. 빈문자열임을 확인하고 싶을 때에는 부정(!)을 더해서 확인하면 된다.
if (!str)
2) 자바스크립트에서 false로 반환되는 값들..
"", null, undefined, 0, NaN
참고
https://sanghaklee.tistory.com/3
'JavaScript' 카테고리의 다른 글
[JavaScript] event.target 과 event.currentTarget 차이 (0) | 2024.11.27 |
---|---|
[JavaScript] 자바스크립트 디버깅하기 (0) | 2024.11.21 |
[JavaScript] script async / defer 차이점 (0) | 2024.10.09 |
[JS] 이벤트 버블링 (event bubbling) (2) | 2024.09.01 |
[JavaScript] Virtual Scroll 구현하기(feat.Intersection Observer) (0) | 2024.07.02 |