首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以将现有的JavaScript对象作为TypeScript中的类型使用?

是否可以将现有的JavaScript对象作为TypeScript中的类型使用?
EN

Stack Overflow用户
提问于 2013-08-15 15:10:09
回答 1查看 1.5K关注 0票数 2

我有一个现有的JavaScript对象。我想在TypeScript中使用它作为一种类型,但看不到任何方法。例如,我有一个JavaScript对象构造函数,如下所示:

代码语言: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的好处。

代码语言:javascript
复制
class MyApp
{
    private canvas2d: any;
    // I want this instead
    //private canvas2d: Canvas2D;

    constructor(aCanvas) { this.canvas2d = new Canvas2D(aCanvas); }
}

在TypeScript中有办法做到这一点吗?

在JavaScript中,我可以这样做:

代码语言:javascript
复制
var canvas2D = new Canvas2D(aCanvas);

而且它(Visual )会知道它所处理的对象的类型。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-15 15:57:01

是的是可能的。您可以将Canvas2D对象移植到类型记录类并引用该文件。

代码语言:javascript
复制
/// <reference path="Canvas2D.ts" />

在MyApp文件中。

您可以创建一个定义文件(Canvas2D.d.ts)来定义Canvas2D类的形状并引用它。

代码语言:javascript
复制
/// <reference path="Canvas2D.d.ts" />

例:

代码语言:javascript
复制
declare class Canvas2D {
    constructor(elem: HTMLCanvasElement);
    clear();
    // Lots more methods here...
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18255717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档