데이터 타입은 값의 종류를 말한다.
| 구분 | 데이터 타입 |
|---|---|
| 원시 타입 | 문자열 타입 |
| 숫자 타입 | |
| 불리언 타입 | |
| undefined 타입 | |
| null 타입 | |
| 심벌 타입 | |
| Bigint 타입 | |
| 객체 타입 | 객체, 함수, 배열 등 |
자바스크립트는 원시 타입(Primitive type)과 객체 타입(Object/Reference type)으로 구성된 총 8개의 타입을 가진다.
텍스트 데이터를 나타내는 데 사용한다. 주로 ('') 작은따옴표로 감싼다.
따옴표로 감싸지 않으면 텍스트를 식별자로 인식하며 공백 문자를 포함할 수 없다.
줄바꿈을 허용하지 않는다.
(``) 백틱을 사용하여 문자열, 표현식 삽입, 태그드 템플릿 등의 문자열 처리 기능을 제공한다. (런타임에 문자열로 변환)
멀티라인 문자열을 처리하기 위해서는 () 백슬래시로 시작하는 이스케이프 시퀀스를 사용해야한다.

문자열은 (+) 연산자로 연결할 수 있다. (문자열 연결 연산자)
표현식을 삽입할 때에는 (${})로 감싸면 된다.
console.log(`1+2 = ${1+2}`); // 1+2 = 3
console.log('1+2 = ${1+2}'); //1+2 = ${1+2}
자바스크립트는 다른 언어와 달리 하나의 숫자 타입만 존재한다.
3가지의 특별한 값을 가진다
console.log(10/0) // Infinity
console.log(10/-0) // -Infinity
console.log(1*'String') // NaN
논리적 참, 거짓을 나타내는 true와 false로 구성된다.
값은 오직 undefined 뿐이다.
변수가 선언될때 확보된 메모리 공간을 자바스크립트 엔진은 undefined로 초기화한다.
값은 오직 null 뿐이다.
변수를 선언하고 값을 할당하지 않은 상태의 undefined로 두는 것이 아닌 null 값을 할당하는 것이 바람직하다.
다른 값과 중복되지 않는 값이다. 객체의 유일한 프로퍼티 키를 생성하기 위해 사용된다.
Symbol 함수를 호출해 사용한다.
슷자값을 안정적으로 나타낼 수 있는 최대치인 2^53-1보다 큰 정수를 표현하게 해준다.
정수 리터럴 뒤에 n을 붙이거나 BigInt 함수로 호출하여 사용한다.