Language Type(=Data Type) - 8가지
specification Type
- 스펙에서 사용하는 내부 타입
Language Type(Data Type)
- 자바스크립트로 개발자가 직접 작성하는 값에 해당하는 타입
- Undefined
- Null
- Boolean(true/false)
- String(문자열)
- Number(숫자)
- BigInt(Number로 표현할 수 없는 큰 숫자
- Symbol(값이 외부로 표현되지 않음)
- Object(위와 다르게 값이 없지만 데이터타입)
** Object 타입을 제외한 다른 데이터 타입은 primitive value라는 빌트인 타입의 값을 제공
** primitive value란 [true/false, 123, "ABC" 형태]
typeof 연산자
- 데이터 타입은 첫문자가 대문자이지만 typeof 연산자로 구하면 데이터(값) 타입을 소문자로 반환한다(number, string, boolean, symbol 등 값에 대해 값이 정해져있음)
- 대부분 그대로 반환하지만 null은 "object"를 반환하고 함수는 "function"을 반환한다.(이외의 다른것들은 object 반환)
Undefined 데이터 타입
- 자바스크립트에서 undefined는 값(데이터)
- 변수에 값을 할당하지 않으면, 자동으로 undefined를 값으로 할당한다
Null 데이터 타입
- 자바스크립트에서 null은 값(데이터)
- null의 데이터 타입은 대문자 Null이지만 object로 반환되는 것은 자바스크립트의 설계 실수이다
- if(music === null)처럼 값으로 체크하면 true 로 나옴