[TypeScript] 타입별칭 (Type Alias)

susu.J·2021년 7월 15일
0

타입 별칭(별명)

interface랑 비슷해보입니다.
primitive, Union Type, Tuple, Function
기타 직접 작성해야하는 타입을 다른 이름을 지정할 수 있다.
만들어진 타입의 refer로 사용하는 것이지 타입을 만드는것은 아닙니다.

Aliasing Primitive

type MyStringType = string;

const str = 'world';

let myStr: MyStringType = 'hello';
myStr = str; 

Aliasing Union Type

let person: string | number = 0;
person = 'Mark';

type StringOrNumber = string | number;

let another: StringOrNumber = 0;
another = 'Anna';

person리아고 하는 변수를 string | number 붙였을때
person을 딴데가서 할당하거나 사용할때는 또 그쪽에다가 string | number 이걸또 사용해야겠죠,
일단 타이핑이 많아져 상당히 번거롭습니다. 그래서 StringOrNumber 라는 별칭을 붙여줍니다.
보통은 기본적으로 길게쓰는걸짧게할수있고 반복되는것을 줄여주는 역할을 합니다.

Aliasing Tuple

let person: [string, number] = ['Mark', 35];

type PersonTuple = [string, number];

let another: PersonTuple = ['Anna', 24];

튜플 타입에 별칭을 줘서 여러군데서 사용할 수 있게 한다.

Aliasing Function

함수도 별칭을 줄 수 있다.

type EatType = (food: string) => void;

그래서 우리가 보통 매개변수로도 function을 넣기도 하는데
EatType이라고하는 별칭은 (food: string) => void; 요런 형태다 라고 지칭하는겁니다.

그렇다면,

타입 Alias와 interface를 어떻게 구분지어서 사용할까 ? 🧐

지금 듣고있는 강의 강사님의 기준은 타입이 타입으로서의 어떤 목적이나 존재가치가 명확하면 interface를 쓰고,
그렇지 않고 다른 대상을 가리킬뿐이라던가 어떤 별명으로서만 존재한다면 type Alias를 주로 사용하는편이라고 합니다.

profile
on the move 👉🏼 https://sjeong82.tistory.com/

0개의 댓글