타입 별칭 (Type Aliases)

Boseong Choi·2023년 8월 31일
0

TypeScript

목록 보기
4/5
post-thumbnail

01. 타입 별칭 (Type Aliases) 이란?

타입스크립트에서 타입 별칭(Type Aliases)은 특정 타입에 이름을 부여하여 재사용 가능한 변수를 말한다. 타입 별칭을 사용하면 반복적으로 작성해야 하는 복잡한 타입을 간결하게 표현하거나, 여러 곳에서 사용되는 타입을 중앙에서 관리하며 유지보수하기 용이해진다.

type TypeName = TypeDefinition;

TypeName은 타입 별칭의 이름이며, TypeDefinition은 해당 별칭이 나타내는 실제 타입을 정의한다.

오브젝트 타입도 저장이 가능하다. 아래 코드에서 PointPerson은 각각 별칭이며, 객체 타입을 간결하게 표현할 수 있다. 함수의 파리미터나 리턴값으로 사용될 때 유용하다.

type Point = {
  x: number;
  y: number;
};

type Person = {
  name: string;
  age: number;
};
function distance(p1: Point, p2: Point): number {
  // ...
}

const john: Person = {
  name: "John",
  age: 30,
};

02. Optional

type Square = {
  color?: string;
  width: number;
};

Square 타입은 color 속성과 width 속성을 가진 객체를 표현한다. color 속성 뒤에 붙은 물음표(?)는 해당 속성이 옵셔널(선택적)이라는 것을 나타낸다.

Square 타입으로 선언된 객체는 color 속성을 포함할 수도 있고, 포함하지 않을 수도 있지 width 속성은 반드시 존재해야 하는 필수 속성이다.


03. Union Types

Type Aliases도 | 키워드를 사용하여 Union Type을 만들 수 있다. & 기호를 쓴다면 인터섹션 타입(Intersection Type)을 만들 수 있다.

인터섹션 타입(Intersection Type)
여러 타입을 모두 만족하는 하나의 타입을 의미

type ID = number | string;

type Address = {
  street: string;
  city: string;
};

type DetailedPerson = Person & Address;

04. Function

함수의 파라미터와 리턴값도 타입지정이 가능하다.

// 타입 별칭 정의
type Person = {
  name: string;
  age: number;
};

// 함수에서 타입 별칭 사용
function greet(person: Person): string {
  return `안녕하세요, ${person.name}님! 당신은 ${person.age}살이군요.`;
}

// 예제
const user: Person = { name: 'Alice', age: 30 };
const greeting: string = greet(user);

console.log(greeting); // "안녕하세요, Alice님! 당신은 30살이군요."

Person이라는 타입 별칭을 정의하고, greet라는 함수의 파라미터로 사용했다. 함수 내부에서는 person.name 및 person.age를 사용하여 인사말을 생성하고. user 객체를 만들어 함수에 전달하고 함수 호출 결과를 출력한다.

profile
Frontend Developer

0개의 댓글