Interface와 type을 사용하는 기준

이대현·2023년 5월 30일
0

Typescript

목록 보기
5/6

interfacetype은 대부분의 상황에서 상호 대체 가능하지만, 몇 가지 사용 사례에서는 한 가지를 선호하는 경우가 있습니다. 다음은 일반적인 상황과 해당 타입을 사용하는 경향입니다:

Interface를 사용하는 경우:

  • 객체의 구조를 정의하고자 할 때
  • 클래스나 객체의 상속을 표현하고자 할 때
  • 타입 확장이 필요한 경우 (declaration merging)
  • JavaScript의 객체 형태와의 호환성을 중요시하는 경우
interface Person {
  name: string;
  age: number;
}

interface Employee extends Person {
  employeeId: string;
}

const employee: Employee = {
  name: 'John',
  age: 30,
  employeeId: '12345'
};

Type을 사용하는 경우:

  • 객체 외의 다른 타입에 별칭을 사용하고자 할 때
  • 유니온 또는 인터섹션 타입을 정의하고자 할 때
  • 타입을 조건부로 변형하고자 할 때
type Point = {
  x: number;
  y: number;
};

type Color = 'red' | 'green' | 'blue';

type Person = {
  name: string;
  age: number;
};

type Employee = Person & {
  employeeId: string;
};

const employee: Employee = {
  name: 'John',
  age: 30,
  employeeId: '12345'
};

일반적으로, 프로젝트 내에서 interfacetype을 일관성 있게 사용하는 것이 좋습니다. 프로젝트 팀과의 협업이나 기존 코드베이스의 관례를 따르는 것이 중요합니다.

profile
Frontend Developer

0개의 댓글