동적 타입
자바스크립트는 동적 타입의 언어이다.
즉 변수의 타입을 미리 선언할 필요가 없다.
타입은 프로그램이 처리되는 과정에서 같은 변수에 여러 타입의 값을 넣을 수 있다.
테이터 타입
ECMAScript 표준에서 자바스크립트의 자료형을 7가지로 정의한다.
- 원시타입
- Boolean
- Null
- Undefined
- Number
- String
- Symbol
- Object
원시타입
Object를 제외한 모든 타입은 immutable이다.
Boolean
논리적 요소를 나타낸다.true
, false
두 가지 값을 가질 수 있다.
Null
null
만 존재한다.
어떤 값이 의도적으로 비어있음을 의미한다.
Undefined
undefined
값을 가진다.
값을 할당하지 않은 변수.
Number
64비트 부동소수점만 존재한다.
정수역시 64비트 부동소수점으로 표현한다.+Infinity
, -Infinity
, NaN
세가지 상징적인 값도 존재한다.
0은 +0
, -0
두가지로 표현이가능하지만 둘을 ===
연산으로 비교시 true
다.
하지만 어떤 수를 -0
으로 나누면 -Infinity
, +0
으로 나누면 +Infinity
가 된다.
String
텍스트 데이터를 나타내는데 사용한다.
16비트 부호없는 정수 값 요소들의 집합이다.
유사배열로 각 문자들은 index를 가지고 있다.
Symbol 타입
유일하고 변경 불가능한 기본값
key값으로 사용할 수 있다.
Object
원시값을 제외한 모든 값은 객체이다.