TypeScript를 사용하여 인터페이스에서 새 인터페이스로 속성을 공유하는 방법

소개



방금 FB 커뮤니티 그룹에서 User 인터페이스에서 PublicUser 인터페이스로 속성을 공유할 수 있는 방법을 묻는 것을 보았습니다.

나는 질문을 한 사람에게 대답했으며 이 게시물에서 내 대답을 공유하고 싶습니다.

해결책



모델/엔티티를 설명하는 다음 속성이 있는 User 인터페이스가 있다고 가정합니다.

interface User {
  name: string;
  email: string;
  age?: number;
}


또한 새 인터페이스에서 이러한 속성을 원합니다. 예를 들어 Customer 인터페이스의 경우 User 인터페이스를 확장합니다.

interface Customer extends User {
  phoneNumber: string;

  address?: {
    streetAddress: string;
  } | null;
}


이렇게 하면 name , email , age 필드가 Customer 인터페이스인 새 인터페이스로 상속됩니다.

그래서 예시로 아래 스크린샷을 첨부하겠습니다.



이를 분석하기 위해 객체를 생성하고 Customer 인터페이스 유형을 제공했습니다. 따라서 Visual Studio Code에서 사용할 수 있는 속성을 트리거하거나 엿봄으로써(CTRL + Space 사용) User 인터페이스의 속성이 상속됨을 보여줍니다. Customer 인터페이스로.



결론



이를 염두에 두고 User 인터페이스에서 모든 속성을 복사하여 Customer 인터페이스에 붙여넣는 대신 Customer 인터페이스에서 User 인터페이스로 상속했습니다. 그래서 우리는 더 적은 코드를 작성하고 있습니다.

그게 내가 가진 전부입니다. 도움이 되었기를 바랍니다.

좋은 웹페이지 즐겨찾기