![](/img/trans.png)
[英]How can I specify a TypeScript type when passing an object into a function?
[英]Typescript: How can I construct an object of a particular type when I only have a type name?
我有一些代碼需要對具有編譯時未知類型的對象進行水合。 (代碼在庫中)從類型名稱中,我想發現類型並在運行時動態構造它。 這里的重要操作是運行默認構造函數並執行原型預期的其他設置。 這在 typescript 中是否可能? 我該怎么做?
正如@pan93412 所說,Typescript 的類型在運行時大部分被刪除並且沒有被具體化,這是一個明確的項目目標。 我建議嘗試為 class 構造函數(或工廠方法)創建一個已知類型名稱的 map,並使用它們來重構對象:
您是否詢問過諸如interface
或type alias
的問題? 好吧,這是不可能的,因為 TypeScript 將清除編譯后的 JS 中的所有類型信息 - 類型信息僅用於tsc
的類型檢查、元數據(需要顯式啟用)和生成的.d.ts
不能在運行時使用。
最好給我們更明確的例子,以便我們能夠提供更好的答案。 :-)
我不確定 TypeScript 中的元數據是如何工作的。 我以前沒有寫過這樣的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.