首页 > 解决方案 > TypeScript 中是否有等效的扩展运算符用于接口?

问题描述

我正在开发一个 JavaScript 项目,也想使用 TypeScript。在一种情况下,如果我可以减少此界面中的重复次数会很好:-

interface Question {
  settings: {
    label: string
    description: string
    hidden: boolean
    followUp: {
      label: string
      description: string
      hidden: boolean
    }
  }
}

如果有某种传播运算符会很棒:

interface QuestionSettings {
  label: string
  description: string
  hidden: boolean
}

interface Question {
  settings: {
    ...QuestionSettings
    followUp: QuestionSettings
  }
}

这在 TypeScript 中可行吗?

标签: javascripttypescript

解决方案


您可以使用交叉点类型

interface QuestionSettings {
   label: string;
   description: string;
   hidden: boolean;
}

interface Question {
  settings: QuestionSettings & {
     followUp: QuestionSettings;
  }
}

推荐阅读