자료형
자바스크립트에서는 타입을 8가지로 정의한다.
- Number
- 일반적인 숫자 외에, Infinity, NaN등이 포함된다.
- BigInt
- 자바스크립트에서는 2^53-1보다 큰값 또는 -2^53-1보다 작은 정수는 Number로 표현할 수 없다.
- 그 때 사용하는 type
- int에 n을 붙혀 사용한다.
const bigInt = 1234567890123456789012345678901234567890n;
- String
- 자바스크립트에서는 String과 Char을 따로 구분하지 않는다.
- 백틱(``)을 사용하면 문자열 내에서 변수나 표현식을 사용할 수 있다.
- Boolean
- null
- 다른 언어들과 다르게 자바스크립트에서는 null을 존재하지 않는 값(nothing), 비어있는 값(empty), 알 수 없는 값(unknown)을 나타낸다.
- undefined
- 값이 할당되지 않은 상태를 나타낼 때 사용한다.
- Object
- Symbol
또, 자바스크립트에서 type을 구분하기 위해 typeof 연산자를 사용하는데, 예외사항이 몇가지 있다.
typeof null // "object"
typeof alert // "function"
위 두 예시 모두 하위호환을 위해 잘못된 언어의 오류를 유지하고 있는 형태이다.
- null의 type은 null이지만, 하위호환을 위해 object로 표현된다.
- alert의 type은 object지만, 함수는 function으로 표현된다.