typeof
: 값의 타입을 확인할 수 있는 연산자원시 자료형 (primitive type)
참조 자료형 (reference type)
let pi = 3.141592;
console.log(typeof pi); // number
Number()
: 데이터 타입을 숫자로 변환해주는 함수
Number('123'); // 123
Number('abc'); // NaN
Number(true); // 1
Number(false); // 0
parseFloat()
: 실수(Float)로 변환해주는 함수
let pi = '3.141592';
parseFloat(pi); // 3.141592
parseInt()
: 정수(Integer)로 변환해주는 함수
let pi = '3.141592';
parseInt(pi); // 3
NaN (Not a Number)
- NaN의 type은 숫자형이다.
console.log(typeof NaN); // number
- NaN은 다른 NaN과 일치하지 않고, 자기 자신과도 일치하지 않는다.
console.log(NaN == NaN); // false console.log(NaN === NaN); // false
- NaN인지 확인하는 방법은 isNaN() 함수를 사용하는 것이다.
console.log(isNaN(NaN)); // true console.log(isNaN(123)); // false
let myname = 'Jieun';
console.log(typeof myname); // string
String()
: 데이터 타입을 문자열로 변환해주는 함수
String(123) // '123'
String(true) // 'true'
let age = 26;
let isAdult = age > 19; // true
console.log(typeof isAdult); // boolean
값을 할당하지 않은 변수는 JavaScript가 임의로 undefined 값을 할당한다.
let idk;
console.log(typeof idk); // undefined
undefined 와 null 의 차이
- undefined : 값이 할당되지 않은 변수
let a; console.log(a); // undefined
- null : 빈 값(null)이 할당된 변수
let b = null; console.log(b); // null
값이 할당되어 있지만 비어있는 값, 값의 부재를 의미한다.
데이터 타입이 null인지 아닌지 확인하는 법
typeof null
은 null이 아닌 object를 반환하는데, 이는 JavaScript의 오래된 버그라고 한다. 해당 데이터가 null인지 아닌지 구분하고 싶다면[변수] === null
일치연산자를 이용하면 된다.
let fruits = ['banana', 'apple', 'pineapple'];
console.log(typeof fruits); // object
데이터 타입이 배열인지 아닌지 확인하는 법
typeof [배열]
은 array가 아닌 object라는 값을 반환한다.
따라서 해당 데이터가 배열인지 객체인지 구분하기 어려운데, 이 때Array.isArray()
메소드를 사용하면 배열이면true
, 배열이 아니면false
를 반환한다.
let person = {
name: 'Jieun',
age: 26,
isStudent: true,
};
console.log(typeof person); // object
==
(Loose Equality Operator): 타입과 상관없이 값만 같으면 true를 return
===
(Strict Equality Opreator): 값이 같고, 타입까지 같아야 true를 return하는 엄격한 비교연산자
❔ 학습 후 궁금한 점
- typeof 배열은 왜 array가 아니라 object를 반환하는지?
- 배우지 않은 데이터 타입 symbol, null, function은 나중에 여기에 다시 정리하기!
너무 정리 잘하셔서 댓글 남겨요~~