타입스크립트 기본 타입
타입스크립트로 변수나 함수와 같은 자바스크립트 코드에 타입을 정의할 수 있습니다.
타입스크립트의 기본 타입에는 크게 12가지가 있습니다.
- Boolean
- Number
- String
- Object
- Array
- Tuple
- Enum
- Any
- Void
String
자바스크립트 변수의 타입이 문자열인 경우 아래와 같이 선언해서 사용합니다.
let str : string = 'hi';
!! 위와 같이 :를 이용하여 자바스크립트 코드에 타입을 정의하는 방식을 타입 표기(Type Annotation)이라고 합니다.
Number
타입이 숫자이면 아래와 같이 선언해서 사용합니다.
let num : number = 10;
Boolean
타입이 진위 값인 경우에는 아래와 같이 선언합니다.
let isTrue : boolean = true;
Object
-- 다른글에 작성 예정
Array
타입이 배열인 경우에 다래와 같이 사용할 수 있고, 제네릭을 사용할 수 있습니다.
let arr : number[] = [1,2,3];
let arr : Array<number> = [1,2,3];
Tuple
튜플은 배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 형식을 의미합니다.
만약 정의하지 않은 타입, 인덱스로 접근할 경우 오류가 납니다.
let arr : [string, number] = ['hi',10];
arr[1].concat('!');// Property 'concat' does not exist on type 'number'.
arr[5] = 'hello';//Tuple type '[string, number]' of length '2' has no element at index '5'.
Enum
이넘은 C, Java와 같은 다른 언어에서 흔하게 쓰이는 타입으로 특정 값(상수)들의 집합을 의미합니다.
enum Avengers { Capt, IronMan, Thor }
let hero: Avengers = Avengers.Capt;
Any
기존에 자바스크립트로 구현되어 있는 웹 서비스 코드에 타입스크립트를 점진적으로 적용할 때 활용하면 좋은 타입입니다.
단어 의미 그대로 모든 타입에 대해서 허용한다는 의미를 가지고 있습니다.
let str : any = 'hi';
let num : any = 10;
let arr : any = [1, 2, 3, 4, 5];
Void
변수에는 undefined와 null만 할당하고, 함수에는 반환 값을 설정할 수 없는 타입입니다.
let unuseful : void = undefined;
function notuse(): void {
console.log('sth');
}
Never
never는 일반적으로 함수의 리턴 타입으로 사용됩니다. 함수의 리턴 타입으로 never가 사용되는 경우, 항상 오류를 출력하거나 리턴 값을 절대로 내보내지 않음을 의미합니다. 이는 무한 루프(loop)에 빠지는 것과 같습니다.
const fetchFriendsOfUser = (username: string): never => {
throw new Error('Not Implemented');
}
type NonString<T> = T extends string ? never : T;
참고:
https://joshua1988.github.io/ts/guide/basic-types.html#any
https://yamoo9.gitbook.io/typescript/types/never
'typescript' 카테고리의 다른 글
[typescript] 유니언 타입 (0) | 2023.08.22 |
---|---|
[typescript] 인터페이스(interface) (0) | 2023.08.14 |
[typescript] 변수에 타입을 정의하는 방법 (0) | 2023.07.27 |
[Typescript] React Typescript 생성하기 (0) | 2022.02.15 |
[Typescript] 타입스크립트 시작하기(Typescript) (0) | 2022.02.09 |
댓글