簡體   English   中英

TypeScript:擴充內置類型

[英]TypeScript: augmenting built-in types

如何增加“內置”類型之一? 例如陣列?

在JS中,我會做類似的事情

Array.prototype.shuffle = function () { ... };

什么是TypeScript的等價物?

類型在TypeScript中是“開放式的”,因此您只需編寫:

interface Array {
  shuffle: () => any; // <-- Whatever signature you want.
}

然后擴展類型以包含新函數(並且可以為其分配與簽名匹配的函數)。

但請注意,擴展內置類型(lib.d.ts中的那些類型 - 例如Array)在語言服務中當前存在問題,因為它在內部緩存這些因為性能原因。 我在http://typescript.codeplex.com/workitem/4上編寫的解決方法是為了在VS中的語言服務中擴展內置類型而沒有錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM