타입스크립트는 변수나 함수 등 Type을 정의할 수 있는데, 타입 표기를 사용한다.
타입스크립트의 Type은 기본자료형, 참조 자료형, 추가 제공 자료형 이 있다.
- 기본 자료형
- object와 reference 형태가 아닌 실제 값을 저장하는 자료형, 기본자료형 내장 함수를 사용 가능 → 이는 JS 처리 방식 덕분
- 종류
- string
- boolean
- number
- null
- undefined
- symbol (ES6 추가)
let str: string = "test";
let isSucceeded: boolean = true;
let num: number = 3;
let n: null = null;
let u: undefined = undefined;
- 참조 자료형
- 객체, 배열, 함수 등과 같은 Object형식의 타입, 메모리에 값을 주소로 저장, 출력 시 메모리 주소와 일치하는 값을 출력
- 종류
- object
- array
- function
//object
// 기본자료형에 해당하지 않는 타입
function create(o: object): void{}
create ({prop: 0}) // 성공
create ([1,2,3]) // 성공
create("string") // error
// array
// 배열
let arr: number[] = [1,2,3];
let arr: Array<number> = [1,2,3]; // 위와 같다.
- 추가 제공 자료형
- 타입스크립트에서 개발자의 편의를 위해 추가로 제공하는 타입이다.
- 종류
- tuple
- enum
- any
- void
- never
// tuple
// 길이와 각 요소의 타입이 정해진 배열을 저장하는 타입
let arr: [string, number] = ["Hi", 6];
arr[1].concat("!"); // ERror, 'number' does not have 'concat'
// enum
// 특정 상수들의 집합을 저장하는 타입
enum Car {BUS, TAXI, SUV};
let bus: Car = Car.BUS;
let bus: Car = Car[0]; // 인덱스 번호로 접근
enum Car {BUS = 1, TAXI = 2, SUV = 3}; // 인덱스 번호를 임의로 지정할 수 도 있다.
// 위의 TAXI의 인덱스는 2 호출
let taxi: String = Car[2]
// any
// 모든 타입을 저장 가능
// 컴파일 중 타입 검사 x
let str:any = "hi";
let num: any = 10;
let arr:any = ["a",2,true];
// void
// any 의 반대 타입, 보통 함수에서 반환 값이 없을 경우 사용한다.
// 변수에서는 undefined와 null 만 할당 가능하다.
let unknown:void = undefined;
function sayHi(): void{
console.log('hi');
}
// never
// 발생할 수 없는 타입
// 항상 오류를 발생시키거나, 절대 반환하지 않는 반환 또는 종료되지 않는 함수이다.
function neverEnd(): never {
while(true){}
}
'개발지식 > TypeScript' 카테고리의 다른 글
함수와 매개변수 (0) | 2022.05.02 |
---|---|
Utility types (추가 예정) (0) | 2022.05.02 |
TypeScript 는 왜 사용할까? (0) | 2022.05.02 |