자바스크립트의 타입에는 크게 원시 타입과 객체 타입으로 구분할 수 있고 각각의 타입은 다음과 같다.
원시타입(Primitive Type)
1. 숫자(number)
2. 문자열(string)
3. 불리언(boolean)
4. 심볼(symbol)
5. undefined
객체 타입(Object Type)
6. 객체(object)
이 중 obejct 타입인 null과 undefined를 살펴보자.
자바스크립트에서 null이란 object 타입으로 값이 아직 정해지지 않은 것을 의미한다.
undefined는 null과 달리 타입이 정해지지 않은 것을 의미한다.
따라서 자바스크립트에서 초기화되지 않은 변수나 정의되지 않은 변수에 접근할 때 undefined가 반환된다.
var num;
var str = null;
console.log(typeof num); // 초기화하지 않았으므로 undefined 값을 반환
console.log(typeof str); // object 타입의 null 값으로 object 값을 반환
console.log(typeof numnum); // 정의되지 않은 변수이므로 undefined 값을 반환
null과 undefined는 동등 연산자(==)와 일치 연산자(===)로 비교할 때 결과값이 다르므로 주의해야 한다.
동등 연산자는 타입을 변환 후 값을 비교하고 일치 연산자는 타입을 변환하지 않고 타입과 값을 모두 비교한다.
null == undefined; // true
null === undefined; // false
null과 undefined를 동등 연산자로 비교하면 타입을 제외하면 같은 의미이므로 true를 반환한다.
반면, null과 undefined를 일치 연산자로 비교하면 null은 object 타입이고 undefined는 undefined 타입이므로 타입이 달라 false를 반환한다.
참조
http://www.tcpschool.com/javascript/js_datatype_basic
'JAVASCRIPT > JavaScript' 카테고리의 다른 글
[Javascript] 자바스크립트의 객체 (1) | 2022.06.26 |
---|
댓글