如何在 TypeScript 中创建构造函数?
看了一堆指南,但语法肯定已经改变了。这是我的最新尝试:
car.d.ts
declare class Car {
constructor(public engine: string) {
this.engine = engine + "foo";
}
}
Error:
无法在环境上下文中调用实现。
通过使用declare
您正在定义一个类类型。该类型只是定义的,不应该有实现,所以declare
需要删除。然后它编译得很好。
class Car {
constructor(public engine: string) {
this.engine = engine + "foo";
}
}
然而,该代码编译为:
var Car = (function () {
function Car(engine) {
this.engine = engine;
this.engine = engine + "foo";
}
return Car;
})();
这设置了engine
财产两次。
这可能不是你想要的,所以engine
属性应该在类上定义,而不是在构造函数上定义。
class Car {
public engine: string;
constructor(engine: string) {
this.engine = engine + "foo";
}
}
Edit:
您收到的关于需要的错误declare
是因为你使用了.d.ts
定义文件的扩展名。扩展名应该只是.ts
如果您希望文件编译为 JavaScript。
Edit 2:
declare class Car {
public engine;
constructor(engine: string);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)