typescript对象字面量类型定义

想要使用typescript定义一个对象,对象中可以有任意属性,但是在访问属性的时候会报错,显示Property "a" does not exist on type Object,请问有方法可以定义这样一个对象吗?

type Options = {
    data: Object
}
const v: Options = {
    data: {
        a: 1,
        b: 2
    }
}
v.data.a
// Property "a" does not exist on type Object
阅读 9.7k
2 个回答

你把data定义成Object了,Object并不存在a属性

如果要定义一个key:value结构的对象要这样

data: { [key: string]: any } 

你的data没有声明属性,默认为空对象,然后你调用了a并不存在于类型声明中然后报错

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