Data Type
자바스크립트의 모든 값은 타입을 가지고 있다. 즉, 값의 종류를 의미한다.
원시 타입 / Primitive Type
- number : 정수, 실수 모두를 표현하는 타입
- string : 문자열을 표현하는 타입
- boolean : true or false
- undefined : 선언된 변수에 암묵적으로 할당되는 값
- null : 값이 없다는 것을 의도적으로 명시할 때 사용하는 값
- symbol : ES7에 새로 추가된 타입
객체 타입 / Object Type
1. 숫자 타입
- 자바스크립트는 타 언어와 다르게 정수, 실수를 따로 구분하지 않는다.
- 특별한 값의 표현이 가능하다.
- Infinity : 양의 무한대
- -Infinity : 음의 무한대
- NaN : 산술 연산 불가 (not a number)
2. 문자열 타입
- 텍스트 데이터를 표현할 때 사용한다.
- 작은 따옴표(''), 큰 따옴표(""), 백틱(``) 으로 텍스트를 감싼다.
3. 템플릿 리터럴
- 멀티라인 문자열, 표현식 삽입, 태그드 템플릿 등 편리한 문자열 처리기능을 제공
- 런타임에 일반 문자열로 변환되어 처리된다.
- `` 백틱으로 표현한다.
- 표현식 삽입이 가능하다. 예를들어 백틱으로 구성된 string에서 ${}를 삽입해서 js 로직, 데이터를 대입할 수 있다.
let name = 'blo'
let ex = `내 이름은 ${name} 입니다.`
4. 불리언
5. undefined
- undefined는 개발자가 임의적으로 할당한 값이 아니다. 자바스크립트 엔진은 변수가 선언되고 나서 첫 할당이 이루어지기 전 먼저 undefined 값으로 초기화한다. 메모리 공간을 빈 공간으로 둘 수 없다는 js의 마음
- undefined의 타입에는 undefined 값이 유일하다.
- 일부로 개발자가 임의적으로 undefined를 변수에 할당한다면, undefined의 방향성과 전혀 맞지 않고 코드적으로 오류를 발생시킬 수 있다.
- 임의적으로 빈 값을 표현하고싶다면, undefined가 아닌 null을 사용하자!
6. null
- null타입의 유일한 값은 null 이다. ( Null, NULL x )
- 프로그래밍 언어에서 null은 변수에 값이 없다는 것을 의도적으로 명시할 때 사용
7. symbol(es6)
- 변경 불가능한 원시 타입의 값
- 다른 값과 중복되지 않는 유일한 값
- 주로 이름이 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용