iT邦幫忙

0

[已解決] typscript 多層object 定義

請問一下typscript宣告小問題,如果object只有一層:

const a {
    b:'this is b'
}

class a {
    b: string;
}

但如果是:

const a {
    b:{c:'this is c in b'}
}

//這樣定義沒辦法過
class a {
    b: {c:string};
}
//試過這樣也無法
class a {
    b: any;
}
看更多先前的討論...收起先前的討論...
marlin12 iT邦新手 1 級 ‧ 2018-10-18 13:36:01 檢舉
class a { b: {c:string} } 在typescript沒問題

https://www.typescriptlang.org/play/#src=class%20A%20%7B%20b%3A%20%7B%20c%3A%20string%20%7D%20%7D%0D%0A%0D%0Aconst%20a%3A%20A%20%3D%20%7B%20b%3A%20%7B%20c%3A%20'this%20is%20c%20in%20b'%20%7D%20%7D%0D%0Aalert(a.b.c)%0D%0A%0D%0A%0D%0A
Zaku iT邦新手 3 級 ‧ 2018-10-18 15:54:29 檢舉
orz..那我為何,我再試試
Zaku iT邦新手 3 級 ‧ 2018-10-18 15:58:09 檢舉
剛剛試又可以了,可能是我用angular cli,hotreload當機,感謝大大
marlin12 iT邦新手 1 級 ‧ 2018-10-19 00:02:18 檢舉
如果a { b: { c: string } }只是用來做[類型定義(type definition)],還是把它轉回用interface來定義,以免typescript編譯器產生不會被呼叫的javascript代碼。
Zaku iT邦新手 3 級 ‧ 2018-10-19 00:11:32 檢舉
對interface還不熟==,感覺都滿類似的,一直懶得去搞懂它的應用

尚未有邦友回答

立即登入回答