본문 바로가기
언어/TypeScript

기본 타입

by seacode 2025. 4. 11.

String, number, boolean, object, array, tuple, enum, any, void, never 이 있다.

이 중에서 주의할 것만 몇 가지 살펴보고 넘어가자.

 

object

let product: object = { name: 'pdr-1234', lang: 'kor' };

위와 같이 쓸 수 있지만, 보통은 "인터페이스" or "타입 별칭" 을 쓴다.

 

배열

// 방법1. [] 배열 선언
let arr1: number[] = [1,2,3,4,5];  

// 방법2. 제네릭 선언
let arr2: Array<number> = [1,2,3,4,5];

 

튜플

- 배열의 길이가 고정되고, 각 요소의 타입이 지정되어 있는 배열.

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

정의되지 않는 타입이나 인덱스로 접근하면 에러가 발생한다.

 

enum

다른 언어에서의 enum과 동일하다.

enum Avengers { 
  Capt, 
  IronMan, 
  Thor 
}

let hero1: Avengers = Avengers.Capt; //캡틴
let hero2: Avengers = Avengers[0]; //캡틴

// 아래와 같이 사용자 편의로 인덱스를 변경할 수 있다.
enum Avengers { 
  Capt=100, 
  IronMan, 
  Thor 
}

let hero1: Avengers = Avengers[100]; //캡틴
let hero2: Avengers = Avengers[101]; //아이언맨

 

any

모든 타입에 사용 가능하다. 즉, 모든 타입에 대해서 허용한다는 의미이므로 주의해서 사용해야한다.

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

 

void

return 이 없거나, 반환 값이 없으면 void 로 지정해준다.

function printSomething(): void {
  console.log('sth');
}

function returnNothing(): void {
  return;
}

 

never

절대 발생하지 않는 값.

예를 들어, 반복문이나 에러 핸들링으로 인해 함수의 끝에 도달하지 않는 경우에 사용.

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

function neverEnd(): never {
  throw new Error('unexpected');
}

'언어 > TypeScript' 카테고리의 다른 글

Union Type, Intersection Type  (0) 2025.04.14
enum 자료형  (0) 2025.04.13
인터페이스  (0) 2025.04.13
함수  (0) 2025.04.11
어째서 타입스크립트인가?  (0) 2025.04.11