我尝试根据此讨论( https://github.com/Microsoft/TypeScript/issues/9 )在TypeScript中创建扩展方法,但我无法创建可用的扩展方法。
这是我的代码,
systemctl restart redis
但它不起作用。
答案 0 :(得分:22)
您需要更改原型:
interface Date {
ConvertToDateFromTS(msg: string): Date;
}
Date.prototype.ConvertToDateFromTS = function(msg: string): Date {
// implement logic
}
let oldDate = new Date();
let newDate = oldDate.ConvertToDateFromTS(TS_VALUE);
虽然看起来你想在Date
对象上使用静态工厂方法,但在这种情况下你最好做类似的事情:
interface DateConstructor {
ConvertToDateFromTS(msg: string): Date;
}
Date.ConvertToDateFromTS = function(msg: string): Date {
// implement logic
}
let newDate = Date.ConvertToDateFromTS(TS_VALUE);