typescript, 是否可以定义一个name为string, 其他属性为number的对象?

typescript, 是否可以定义一个name为string, 其他属性为number的对象?

interface A {
    name: string,
    [key: string]: number
}

想当然了, 这是官方文档中提到的错误:

image.png

请问有什么方法可以做到吗?

阅读 1.9k
1 个回答

ts 版本 4.1.3

type IFoo = {
  name: string
} | {
  [key : string]: number
}


const a:IFoo = {
  name: '13'
}

const b:IFoo = {
  age: 99,
  name: 'qwer'
}

fix: 声明的时候没问题, 但是使用的时候会有问题, 暂无其他方案

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题