TS中对象的一个属性是一个对象类型,如何给这个子对象的属性定义类型?

storage = {
    channel: {window: number},
    allChannel: []
  };

typescript的这段代码中我想定义storage对象的属性channel的window属性为number类型,但是得到了一个《“number”仅表示类型,但在此处却作为值使用》的错误,这种情况除了定义接口之外有什么办法吗?

阅读 7.9k
2 个回答

type是type

type Channel = {
  window: number
}
type Storage = {
  channel: Channel,
  allChannel: Channel[]
}

字面量是字面量

const storage: Storage = {
  channel: {window: 123},
  allChannel: []
};

直接写在冒号后面是赋值,<>这样是给属性值添加类型

storage = {
  channel: {window: <number>123},
  allChannel: []
};
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题