我有一个现有的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的一个实例。我可以将其定义为"any“类型,但这并不能给我自动提示,并在某种程度上否定了使用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 )会知道它所处理的对象的类型。
发布于 2013-08-15 15:57:01
是的是可能的。您可以将Canvas2D对象移植到类型记录类并引用该文件。
/// <reference path="Canvas2D.ts" />在MyApp文件中。
或
您可以创建一个定义文件(Canvas2D.d.ts)来定义Canvas2D类的形状并引用它。
/// <reference path="Canvas2D.d.ts" />例:
declare class Canvas2D {
constructor(elem: HTMLCanvasElement);
clear();
// Lots more methods here...
}https://stackoverflow.com/questions/18255717
复制相似问题