Javascript 打字稿-“;这";关键词错误
我在这里做一个简单的例子,我在使用Phaser库Javascript 打字稿-“;这";关键词错误,javascript,oop,typescript,Javascript,Oop,Typescript,我在这里做一个简单的例子,我在使用Phaser库 module GameName { class GameName extends Phaser.Game{ constructor(width?:number, height?:number){ super(width, height, Phaser.AUTO, 'PhaserDemo', {create:this.create}); } create()
module GameName {
class GameName extends Phaser.Game{
constructor(width?:number, height?:number){
super(width, height, Phaser.AUTO, 'PhaserDemo', {create:this.create});
}
create() {
this.state.add("Preloader", Preloader, true);
}
}
window.onload = () => {
new GameName(1280, 720);
}
}
因此,我在这里编译“this”关键字上的Typescript时出错{create:this.create}
我不明白我做错了什么。我刚刚将Phaser.Game类的构造函数调用到GameName类的构造函数中,并将Phaser.Game类的create函数作为参数添加到超级构造函数中
错误:在访问派生类的构造函数中的“this”之前必须调用“super”。尝试包装
this。在匿名函数中创建函数
constructor(width?:number, height?:number){
super(width, height, Phaser.AUTO, 'PhaserDemo', {
create: () => this.create(),
});
}
- 删除对该
(?)的即时调用
修复了create回调中可能未定义的此
,请参阅:
是,这样错误就消失了,它可以编译,但根本不进入函数。但是如果我这样做->构造函数(宽度?:数字,高度?:数字){super(宽度,高度,Phaser.AUTO,'PhaserDemo',{create:()=>{this.state.add(“preload”,preload,true);}}}}}它工作得很好。