簡體   English   中英

Typescript Generic和Non-Generic Version of Type

[英]Typescript Generic and Non-Generic Version of Type

我有一個非常簡短的問題,我正在嘗試在打字稿中創建兩個類:

export class ServiceResponse { }

export class ServiceResponse<T> extends ServiceResponse {}

但根據打字稿,這些是重復的標識符。 是否可以在typescript中使用與泛型類型參數相同的名稱? 這是以前有人解決過的問題嗎? 我來自C#背景,這種模式很常見。

謝謝!

Aleksey在上面的評論中回答了這個問題,但只是想提供一個具有更多背景的實際答案以供將來參考

這是預期的,因為在編譯為JavaScript時,要么刪除了Typescript類型注釋(包括泛型類型參數<T> ),並且最終得到兩個具有相同名稱的類,因此重復標識符錯誤。

要定義同一類的泛型和非泛型版本,可以為泛型類型參數指定默認值:

export class ServiceResponse<T = void> {
}

暫無
暫無

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

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