# basic types

never
never 타입은 모든 타입의 subtype 이며, 모든 타입에 할당 할 수 있음never 에는 그 어떤 것도 할당할 수 없음any 도 never 에 할당할 수 없음잘못된 타입을 넣는 실수를 막고자 할 때 사용함.

unknown
unknownWe may need to describe the type of variables that we do not know when we are writing an application.These values may come from dynamic content

any
어떤 타입이어도 상관없는 타입최대한 쓰지 않는게 좋음Compiletime 에 타입 체크가 정상적으로 이루어지지 않기 때문Compile option 중에는 any 를 써야하는데 쓰지 않으면 오류가 나오는 옵션이 있음.nolmplicitAnyany 는 계속해서 개체를 통해

object
a type that represents the non-primitive type“primitive type 이 아닌 것” 을 나타내고 싶을 때 사용하는 타입not number, string, boolean, bigint, symbol, null, or undefine

null & undefined
TypeScript 에서 undefined 와 null 은 실제로 각각 undefined 및 null 이라는 타입을 가진다.void 와 마찬가지로 그 자체로는 그다지 유용하지 않음둘 다 소문자만 존재함설정(tsconfig.json)을 하지 않으면 그렇다.number 에

symbol
ESMAScript 2015 의 Symbolnew Symbol 로 사용할 수 없음Symbol 을 함수로 사용해서 symbol 타입을 만들 수 있음console.log(Symbol('foo') === Symbol('foo'));⇒ falseprimitive 타입의 값을

string
다른 언어에서와 마찬가지로 텍스트 형식을 참조하기 위해 ‘string' 형식을 사용한다.JavaScript 와 마찬가지로, TypeScript 는 문자열 데이터를 둘러싸기 위해 큰 따옴표(”)나, 작은 따옴표(’) 를 사용한다.행에 걸쳐 있거나, 표현식을 넣을 수 있는

number
JavaScript 와 같이, TypeScript 의 모든 숫자는 부동 소수점 값이다.TypeScript 는 16진수 및 10진수 리터럴 외에도, ECMAScript 2015 에 도입된 2진수 및 8진수를 지원한다.NaN1_000_000 과 같은 표기 가능

boolean
mkdir basic-typesnpm init -ynpm i typescript -Dnpx tsc —initnpx tsc (ts 파일을 js 새 파일로 생성)node boolean.js (boolean)

Primitive Types
오브젝트와 레퍼런스 형태가 아닌 실제 값을 저장하는 자료형Primitive 형의 내장 함수를 사용 가능한 것은 JavaScript 처리 방식 덕분(ES2015 기준) 6가지booleannumberstringsymbol(ES2015)nullundefinedliteral

TypeScript Types vs JavaScript Types
Static Types(set during development)Dynamic Types(resolved at runtime)사용자가 만든 타입은 결국은 이 기본 자료형들로 쪼개진다.JavaScript 기본 자료형을 포함(superset)ECMAScript 표준에 따른