如何告诉TypeScript对Date,Number,String等本机类型的添加?
E.g。我想要编译以下内容(例如来自http://sugarjs.com/dates):
var date: Date = Date.create('tomorrow'); // I get a compile error
date.isAfter('March 1st') // I get a compile error
答案 0 :(得分:6)
此处需要两种扩展。
e.g。给定示例中的create
。
这可以通过添加到<type>Constructor
接口来完成。例如
interface DateConstructor {
create(query: string): Date;
}
e.g。给定示例中的isAfter
。
这可以通过添加到<type>
界面来完成,例如
interface Date {
isAfter(query: string): boolean;
}
interface DateConstructor {
create(query: string): Date;
}
interface Date {
isAfter(query: string): boolean;
}
var date: Date = Date.create('tomorrow'); // okay
date.isAfter('March 1st') // okay
自TypeScript 1.4
以来,这已经成为可能。