본문 바로가기
프로그래밍/typescsript

타입스크립트의 타입

by 한코코 2022. 10. 11.

타입스크립트의 타입 

: 을 사용해서 자바스크립트 코드에 타입을 정의하는 방식을 타입표기(Type Annotation)이라고 한다.


String

let str: string = 'hi';

 

Number

let store: number = 123412342;

// number 타입이 너무 길때는 구분을 위해서 _를 넣을수 있다.
let store_1: number = 123_4123_42;

 

Boolean

let isLoggedIn: boolean = false;

 

 

Array

let arr: number[] = [1,2,3];
let arr: Array<number> = [1,2,3];

 

 

Tuple

배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 형식을 의미한다.

정의하지 않은 타입, 인덱스로 접근할 경우 오류가 생긴다.

let arr: [string, number] = ['hi', 10];

// 정의하지 않은 타입을 추가하려고함
arr[1].concat('!'); // Error, 'number' does not have 'concat'
arr[5] = 'hello'; // Error, Property '5' does not exist on type '[string, number]'.

 

 

Enum

특정값(상수)들의 집합을 말한다.

enum Avengers { Capt, IronMan, Thor }
let hero: Avengers = Avengers.Capt;
let hero: Avengers = Avengers[0];

인덱스를 사용자 편의상 수정이 가능하다

enum Avengers { Capt = 2, IronMan, Thor }
let hero: Avengers = Avengers[2]; // Capt
let hero: Avengers = Avengers[4]; // Thor

 

 

Any

기존에 자바스크립트로 구현되어 있는 웹 서비스 코드에 타입스크립트를 점진적으로 적용할때 활용하면 좋은 타입니다. 모든 타입에 대해서 허용한다는 의미를 갖고있다.

let str: any = 'hi';
let num: any = 10;
let arr: any = ['a', 2, true];

 

 

Void

변수에 undefined와 null만 할당 가능하며, 함수에는 반환값을 설정할 수 없는 타입니다.

let unuseful: void = undefined;
function notuse(): void {
  console.log('sth');
}

 

 

Never

함수의 끝에 절대 도달하지 않는다는 의미를 가진 타입이다.

// 이 함수는 절대 함수의 끝까지 실행되지 않는다는 의미
function neverEnd(): never {
  while (true) {

  }
}

 

(출처 : 타입스크립트 공식 페이지 핸드북)

 

댓글