如何在TypeScript中创建构造函数?
看了一堆指南,但语法必须改变.这是我最近的尝试:
declare class Car {
constructor(public engine: string) {
this.engine = engine + "foo";
}
}
Run Code Online (Sandbox Code Playgroud)
无法在环境上下文中调用实现.
tho*_*epo 10
通过使用declare你定义一个类类型.该类型仅定义,不应具有实现,因此declare需要删除.然后编译好.
class Car {
constructor(public engine: string) {
this.engine = engine + "foo";
}
}
Run Code Online (Sandbox Code Playgroud)
但是,该代码编译为:
var Car = (function () {
function Car(engine) {
this.engine = engine;
this.engine = engine + "foo";
}
return Car;
})();
Run Code Online (Sandbox Code Playgroud)
这将engine属性设置两次.
这可能不是你想要的,所以engine应该在类上定义属性,而不是构造函数.
class Car {
public engine: string;
constructor(engine: string) {
this.engine = engine + "foo";
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:
您收到的有关需要的错误declare是由于您使用.d.ts定义文件的扩展名.扩展应该只是.ts您希望文件编译为JavaScript.
编辑2:
declare class Car {
public engine;
constructor(engine: string);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8526 次 |
| 最近记录: |