javascript - typescript 对象模式?

标签 javascript node.js typescript

我刚刚开始使用 TypeScript,我想知道如何为这种类型的对象声明接口(interface):

const branch = {
  'CN': {
    'name': 'CN Name',
    'branch': 'Chinoise',
    'url': 'CN URL'
  },
  'DE': {
    'name': 'DE Name',
    'branch': 'Allemande',
    'discord': 'DE Discord',
    'url': 'DE URL'
  },
  'EN': {
    'name': 'EN Name',
    'branch': 'Anglaise',
    'url': 'EN URL'
  },
  [...]
}

如你所见,我有这个界面:

interface Branch {
    name: string,
    branch: string,
    discord?: string,
    url: string
}

上面的代码重复了几次。 所以我想知道是否可以对 TypeScript 说:“嘿,Branch 对象包含这个重复多次的接口(interface)”。

谢谢!

最佳答案

你可以这样做:

const branch: {[key: string]: Branch} = ...;

这意味着branch变量是一个对象,其键是字符串类型,值是Branch类型;

索引签名官方文档:https://www.typescriptlang.org/docs/handbook/interfaces.html

关于javascript - typescript 对象模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46951298/

相关文章:

javascript - 如何使用 jquery 使 jquery 旋钮只读?

javascript - 跨操作系统平台的路径分隔符

node.js - 在 Gitbash 上 - Bower : ENOGIT git is not installed or not in the PATH

javascript - 如何检测 Angular 4 中的浏览器版本以防止在 IE 中使用

javascript - 如何在 ngCookies 中设置 httpOnly 标志?

node.js - NodeJS : Google Sign-In for server-side apps

javascript - 0MQ 请求等待 Node.js 中的代表

javascript - TypeScript 中 JavaScript 的等价物

javascript - let 声明的变量可以声明也可以不声明

javascript - 使用 a+ 在 Node 中构造正确的 Promise