타입 종류
number
string
boolean
object : 원시타입이 아닌 나머지 모두
array : 배열내부 데이터타입도 지정 가능 :number[] or Array
null
undefined
tuple : 고정크기 배열 표현, 서로 다른 타입을 튜플속에 담을 수 있다.
enum : 열거
any : 모든 타입 담을수 있음, 배열속 값의 타입을 모두 알지 못할때도 유용
void : any의 반대타입, 보통 리턴값 표현에 사용한다.
never : 절대 발생할수 없는 타입. 에러..
call signature
type A = {
(arr:number[]): void
}
type B = (text:string) => void
call signature에서 gerneric
type A = {
<T>(a:T[]): T
<T, M>(a:T[], b:M) :T
}
type A<E> = {
naem: string,
extrainfo: E
}