[英]TypeScript: use class as module
像這樣添加類本地接口和類型聲明是不可能的:
class Foo {
interface Bar {}
private bar: Bar;
}
到目前為止,我一直將所有內容放入模塊中:
module Foo {
export interface Bar {}
export class Foo {
private bar: Bar;
}
}
但是,最近我發現可以創建類/模塊“混合”。
class Foo {
private bar: Foo.Bar;
}
module Foo {
export interface Bar {}
}
編譯器不會對此抱怨,並且類型檢查器似乎可以正確執行所有操作。 這是一個壞主意嗎? 將來會破裂嗎?
這是一個有據可查的功能,稱為“聲明合並”,因此有望在一段時間內穩定運行。
具體來說,模塊中可以生成代碼的任何內容都將簡單地成為該類的靜態成員,並且接口無論如何都不會生成代碼,因此它們是否存在於類中並不重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.