Typescript
에서 사용되는 기본Type
의 종류
Typescript
는 변수, 함수...등 Javascript
코드에 타입을 지정할 수 있다.
타입을 지정할 때는 :
기호를 사용하며, 이와 같이 Javascript
코드에 타입을 정의하는 방식을 타입 표기(Type Annotation)
라고 한다.
사용되는 기본 타입 종류는 다음과 같다.
Boolean
,Number
,String
,Object
,Array
,Tuple
,
Enum
,Any
,Void
,Null
,Undefined
,Never
Javascript
의 문자열 타입은 Typescript
에서 다음과 같이 선언하여 사용한다.
let hello: string = 'hello';
숫자 타입은 Typescript
에서 다음과 같이 선언한다.
let num: number = 1;
true/false
를 나태내는 전위 타입은 Typescript
에서 다음과 같이 선언한다.
let isBool: boolean = true;
Javascript
Object
타입 중 Array
는 Typescript
에서 다음과 같이 2가지 방법으로 선언할 수 있다.
let arr1: number[] = [1, 2, 3];
let arr2: Array<number> = [1, 2, 3];
Tuple
은 TypeScript
에서 지원하는 타입으로, Array
의 길이, 타입을 구체적으로 지정하여 사용하는 특수한 배열 형식이다.
// 배열은 2개의 요소만을 가지며, 각각의 요소는 string, number타입만을 허용
let arr: [string, number] = ['hello', 1];
arr[1].concat('world'); // Error, 'number' does not have 'concat'
arr[5] = 'bye'; // Error, Property '5' does not exist on type '[string, number]'.
Enum
또한 Tuple
과 마찬가지로 TypeScript
에서 지원하는 타입으로, 특정 값(상수)들의 집합을 의미한다.
Enum
은 인덱스 번호로도 접근할 수 있으며 필요시에는 인덱스를 사용자 편의로 변경하여 사용할 수도 있다.
enum Fruits { Apple, Banana = 1, Grape };
let fruit1: Fruits = Fruits.Apple; // Apple
let fruit2: Fruits = Fruits.[0]; // Apple
let fruit2: Fruits = Fruits.[2]; // Grape
Any
는 모든 타입을 허용하며, 기존 Javascript
로 구현되어 있는 웹 서비스 코드를 Typescript
로 점진적 적용할 때 활용하기 좋은 타입이다.
let str: any = 'hello';
let num: any = 1;
let arr: any = ['a', 2, true];
Void
는 변수, 함수에 각각 사용할 수 있다.
변수에 사용시 변수의 undefined
과 null
만을 허용하며, 함수에 사용시 함수의 return
값이 없는 경우를 의미한다.
let none: void = undefined;
function nonFunc(): void {
console.log('sth');
};
Never
는 함수 끝에 절대로 도달하지 않는 의미의 타입이다.
function neverFunc(): never {
while (true) {
}
}
TypeScript: JavaScript With Syntax For Types.
React TypeScript Tutorial for Beginners - Codevolution
타입스크립트 입문 - 기초부터 실전까지 - 장기효