본문 바로가기
프로그래밍 언어/Typescript

[타입스크립트] 기본 타입

by 스코필 2023. 12. 18.

이번 글은 타입스크립트에 기본 타입들을 정리해보겠습니다.

 

1. 숫자 (Number)

타입스크립트의 숫자형은 모든 숫자(부동 소수 값)에 number라는 타입을 붙혀 사용합니다.

변수선언 변수이름: number = 값 (숫자);

let num1: number = 1;
let num2: number = 1.1;
let num3: number = -1;

 

2. 문자열 (String)

다음은 문자열 타입입니다.

변수선언 변수이름: string = 값 (문자열);

let name: string = "gildong"

 

3. 불리언(Boolean)

다음은 참, 거짓 값을 가지는 불리언 타입입니다.

변수선언 변수이름: boolean = 값 (true / false);

let isOk: boolean = true;
let isNo: boolean = false;

 

4. 배열(Array)

다음은 배열입니다. 배열 타입은 두 가지 방법으로 쓰일 수 있는데, 첫 번째는 배열 요소들을 나타내는 타입 뒤에 []를 쓰는 것입니다.

변수선언 변수이름: number[ ] = 값(배열);

let lst1: number[] = [1, 2, 3];
let lst2: string[] = ["a", "b", "c"];

 

두 번째 방법은 제네릭 배열 타입을 쓰는 것입니다.

변수선언 변수이름: Array<배열 안의 타입> = 값(배열);

let lst1: Array<number> = [1, 2, 3];
let lst2: Array<string> = ["a", "b", "c"];

 

5. 튜플(Tuple)

튜플 타입은 요소의 타입과 개수가 고정된 배열을 사용할 수 있습니다. 지정된 타입에 알맞게 값을 넣지 않을 경우 에러가 나게 됩니다.

변수선언 변수이름: [타입 선언, ...] = 값;

let tuple1: [string, number] = ["a", 1]; // 통과
let tuple2: [string, number] = [1, "a"]; // 에러

 

6. Void

Void 타입은 어떤 타입도 존재할 수 없음을 나타냅니다.

보통 함수에서 아무것도 반환하지 않을 때 주로 사용합니다.

function 함수 이름: void = { 함수 정의 };

function Hello(): void {
	console.log("hello");
}

 

7. Never

Never 타입은 절대 발생할 수 없는 타입을 나타냅니다.

항상 에러를 반환하거나, 영원히 끝나지 않은 함수에 주로 사용합니다.

function 함수 이름: never = { 함수 정의 };

function isError(): never {
  throw new Error();
}

function infLoop(): never {
  while (true) { }
}

 

8. 열거 (Enum)

enum은 자바스크립트에는 없는 타입이지만, 비슷한 값들끼리 묶어줄 때 유용한 타입입니다.

요소들에 값을 주지 않으면, 자동으로 0부터 시작하여 번호를 매깁니다.

enum 객체 이름 = { 객체 정의 };

 // TS
 enum Fruit {
  apple,
  banana,
  grape
}

// JS
var Fruit;
(function (Fruit) {
    Fruit[Fruit["apple"] = 0] = "apple";
    Fruit[Fruit["banana"] = 1] = "banana";
    Fruit[Fruit["grape"] = 2] = "grape";
})(Fruit || (Fruit = {}));

console.log(Fruit[0]); // apple
console.log(Fruit["apple"]); // 0

 

요소들마다 수동으로 값을 줄 수 있습니다. 값을 주지 않은 요소는 그 전 요소의 값의 1을 더해 값을 자동으로 줍니다.

// TS
enum Fruit {
  apple = 3,
  banana 
  grape = 6
}

// JS
var Fruit;
(function (Fruit) {
    Fruit[Fruit["apple"] = 3] = "apple";
    Fruit[Fruit["banana"] = 4] = "banana";
    Fruit[Fruit["grape"] = 6] = "grape";
})(Fruit || (Fruit = {}));

 

숫자가 아닌 문자열도 입력할 수 있습니다.

// TS
enum Fruit {
  apple = "app",
  banana = "ban",
  grape = "gra"
}

// JS
const Fruit {
  apple : "app",
  banana : "ban",
  grape : "gra"
}

 

8. Null과 Undefined

null 타입과 undefined 타입도 지정할 수 있습니다.

변수선언 변수이름: null = null;

let nu: null = null;

변수선언 변수이름: undefined= undefined;

let und: undefined = undefined;