我有一个现有的 JavaScript 对象。我想在 TypeScript 中使用它作为一种类型,但看不到任何方法。例如,我有一个这样的 JavaScript 对象构造函数:
function Canvas2D(canvas)
{
var context = canvas.getContext("2d");
this.clear = function() { context.clearRect(canvas.width, canvas.height); }
// lots more methods follow...
}
在我的 TypeScript 中,我想声明一个变量,它是 Canvas2D 的一个实例。我可以将它定义为类型“任何”,但这并没有给我自动建议,并且有点否定使用 TypeScript 的好处。
class MyApp
{
private canvas2d: any;
// I want this instead
//private canvas2d: Canvas2D;
constructor(aCanvas) { this.canvas2d = new Canvas2D(aCanvas); }
}
有没有办法在 TypeScript 中做到这一点?
在 JavaScript 中,我可以这样做:
var canvas2D = new Canvas2D(aCanvas);
它(Visual Studio)会知道它正在处理什么类型的对象。