typescript Type (3)

BirdsOnTree·2022년 12월 23일
0

typescript

목록 보기
3/3
post-thumbnail

타입 별칭은 인터페이스와 거의 비슷한 기능을 한다. 객체 또는 함수에 대한 타입 정의를 하는 일을 한다. 또한 인터페이스를 참조 가능하다.

type Developer = {
  name: string;
  skill: string;
};

타입 별칭에도 제네릭 사용 가능

type typeGeneric<T> = {
  name: T;
};

특징

타입 별칭은 새로운 타입 값을 하나 생성하는 것이 아니라 정의한 타입에 대해 개발자가 쉽게 관찰하도록 이름을 부여하는 것과 같다.
그래서 interface를 정의하고 커서를 hover하면 interface xx 이렇게 나오지만 type은 type xx = {xx: xx} 이렇게 상세하게 나오게 된다.

인터섹션에 의한 확장

타입 별칭은 extends라는 명령어가 없고 인터섹션(&)를 이용해 확장 한다.

type test1 = { name: string };

type test2 = test1 & { age: number };

const test3: test2 = { name: "d", age: 33 };

type은 extend가 안되기 때문에 왠만하면 interface를 쓰도록 합니다.

타입 별칭에서 특정 속성만 제외

type XYZ = {
  x: number;
  y: number;
  z: number;
};
// y, z 속성을 제외하여 아래처럼 만들고 싶다
type X = { x: number };

omit

type X = Omit<XYZ, "x" | "y">;
// type X = { x: number };

0개의 댓글