如何为getter / setter编写类型定义(typescript)

时间:2017-09-26 08:18:08

标签: javascript typescript definitelytyped

如何编写类似于

的javascript代码的类型定义文件(d.ts)

library.js:

Object.defineProperty( SceneNode.prototype, 'name', {
    set: function(name)
    {
        this.setName( name );
    },
    get: function(){
        return this._name;
    },
    enumerable: true
});

我到目前为止:

library.d.ts

class SceneNode{
    private _name: string;
}

但是如何将getter / setter包含在类型定义中呢?

编辑1:

添加了文件名以便澄清

1 个答案:

答案 0 :(得分:1)

您只需将类型定义为简单属性即可。 getter和setter的目的是让它看起来好像只是一个简单的属性,而实际上某些代码正在运行,但它并没有从类型视图中改变接口。

所以你需要的只是:

class SceneNode{
    private _name: string;
    public name: string;
}