728x90
728x90

타입스크립트의 자료형(TypeScript)

들어가며

  • 타입스크립트(TypeScript)에서 사용되는 자료형(DataType)을 간단하게 정리해본다.

 

타입스크립트의 자료형

① 원시 자료형(Primitives)

  • @number@ : 숫자형 (정수, 소수 등)
  • @string@ : 문자열 
  • @boolean@: @true@ 또는 @false@ 값
  • @null@, @undefined@ : 기본적으로 모든 타입의 서브타입으로 취급된다.
// (1) 숫자
let age: number;
age = 25;

// => let age: number = 25;

// (2) 문자열
let name: string;
name = "Peter";

// => let name: string = "Peter";

// (3) Boolean
let isActive: boolean;
isActive = true;

// => let isActive: boolean = true;

// (4) null / undefined
let isNull: null;
let isUndefined: undefined;

 

② 배열(Array)

  • 특정 타입의 값을 여러 개 담을 수 있는 자료형
  • 동일한 타입의 여러 값을 저장하는 데 사용된다.
let numbers: number[];
numbers = [1, 2, 3];

// => let numbers: number[] = [1, 2, 3];

 

③ 튜플(Tuple)

  • 고정된 수의 요소를 가지고, 각 요소의 타입이 정해져 있는 배열
  • 다양한 타입의 여러 값을 고정된 순서고정된 길이로 저장한다.
let person: [string, number];
person = ["Peter", 25];

// => let person: [string, number] = ["Peter", 25];

 

④ 열거형(Enums)

  • 숫자 값에 별칭(Alias)을 붙일 수 있는 자료형
enum Color {
    Red = 1,
    Green,
    Blue
};

let c: Color;
c = Color.Green;

// => let c: Color = Color.Green;

 

⑤ Any

  • 타입 체크를 하지 않겠다는 의미로, 어떤 값이든 할당할 수 있다.
  • 자바스크립트에서 타입스크립트로의 마이그레이션이나, 동적인 컨텐츠를 다룰 때 유용하다.
let notSure: any;
notSure = 4;

// => let notSure: any = 4;

 

⑥ 유니언 및 교차 타입(Union and Intersection Types)

유니언(Union)

  • 변수에 여러 타입 중 하나를 가질 수 있도록 한다.
let value: string | number;

 

교차(Intersection)

  • 여러 타입을 하나로 결합한다.
  • 객체 지향 프로그래밍(OOP)의 다중 상속과 비슷하게 여러 타입의 특성을 모두 가진 새로운 타입을 정의할 때 유용하다.
type TypeA = {
  propA: string;
};

type TypeB = {
  propB: number;
};

type CombinedType = TypeA & TypeB;

const example: CombinedType;
example = {
    propA: "Hello",
    propB: 42
};

// =>
// const example: CombinedType = {
//   propA: "Hello",
//   propB: 42
// };

 

⑦ 타입 추론(Type Inference)

  • 타입스크립트는 명확하게 선언된 경우 변수의 타입을 추론할 수 있다.
  • 따라서 명시적으로 타입을 지정할 필요가 없다.
// (1) 변수 타입 추론
let num = 42; // num의 타입을 number로 추론
let message = "Hello, TypeScript!";   // message의 타입을 string으로 추론

// (2) 함수 반환 타입 추론
function add(a: number, b: number) {
    return a + b;    // 함수의 반환 타입을 number로 추론
}

// (3) 객체 타입 추론
let person = {
    name: "Alice",
    age: 30
};    // person의 타입을 { name: string; age: number }로 추론


// (4) 배열 타입 추론
let numbers = [1, 2, 3];   //numbers의 타입을 number[]로 추론

// (5) 함수 매개변수 타입 추론
let greet = (name = "World") => `Hello, ${name}!`;    // name의 타입을 string으로 추론

// (6) 타입 추론과 타입 선언
let value: any = "This is a string";
let length = (value as string).length;    // value를 string으로 선언(as string) 하여 length를 계산

 

⑧ 함수(Functions)

  • 함수의 입력과 출력 타입을 명시할 수 있다.
// 입력: x(숫자), y(숫자) / 출력: 숫자
function add(x: number, y: number): number {
  return x + y;
}

 

 

참고 사이트

 

Handbook - Basic Types

Step two in learning TypeScript: The basic types.

www.typescriptlang.org

 

728x90
728x90