搜尋

首頁  >  問答  >  主體

javascript - 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
为情所困为情所困2730 天前1124

全部回覆(2)我來回復

  • 阿神

    阿神2017-07-05 11:09:22

    你把data定義成Object了,Object並不存在a屬性

    如果要定義一個key:value結構的物件要這樣

    data: { [key: string]: any } 

    回覆
    0
  • 天蓬老师

    天蓬老师2017-07-05 11:09:22

    你的data沒有聲明屬性,預設為空對象,然後你呼叫了a並不存在於型別宣告然後報錯

    回覆
    0
  • 取消回覆