Javascript 未捕获类型错误:无法设置属性'';未定义的
我正在做一个游戏,我希望有一个类型为Item(我自己的类)的属性,它以null开头,当玩家拿起一个项目时设置。 我有密码:Javascript 未捕获类型错误:无法设置属性'';未定义的,javascript,typescript,Javascript,Typescript,我正在做一个游戏,我希望有一个类型为Item(我自己的类)的属性,它以null开头,当玩家拿起一个项目时设置。 我有密码: useItem: Item; 在player类的顶部声明,并在其构造函数中声明: this.useItem = null; 因为除非有一个项目,否则我希望它为空(这样我就知道那里什么都没有了) 在项目类中,我有: init(holder: Player) { this.holder.useItem = this; } 当玩家拾取
useItem: Item;
在player类的顶部声明,并在其构造函数中声明:
this.useItem = null;
因为除非有一个项目,否则我希望它为空(这样我就知道那里什么都没有了)
在项目类中,我有:
init(holder: Player) {
this.holder.useItem = this;
}
当玩家拾取一个物品(在游戏早期已经创建)时调用
但是每次我运行这段代码时都会出现错误
未捕获的TypeError:无法设置未定义的属性“useItem”
我能做什么?您试图访问
this.holder
的useItem
成员,但this.holder
尚未初始化。在尝试使用其useItem
成员之前初始化this.holder
。您尝试访问this.holder
的useItem
成员,但this.holder
尚未初始化。在尝试使用其useItem
成员之前初始化this.holder
。您尝试访问this.holder
的useItem
成员,但this.holder
尚未初始化。在尝试使用其useItem
成员之前初始化this.holder
。您尝试访问this.holder
的useItem
成员,但this.holder
尚未初始化。在您尝试使用其useItem
成员之前,请初始化此.holder。您是否已阅读错误消息文本?你认为这意味着什么?提示:你没有使用传递的参数,是吗?我确实读过文本,但我很好奇是否有办法解决这个问题。在其他语言中,我从来没有遇到过问题,因为我只是想给同一个名字分配一个不同的对象。你所说的暗示是什么意思?你为什么认为这个.holder存在?你有没有明确地把它分配到某个地方?“在其他语言中,我从来没有遇到过问题”-在任何其他语言中,它都是相同的(或编译错误),它的意思就是它所说的-this.holder
是未定义的
您读过错误消息文本吗?你认为这意味着什么?提示:你没有使用传递的参数,是吗?我确实读过文本,但我很好奇是否有办法解决这个问题。在其他语言中,我从来没有遇到过问题,因为我只是想给同一个名字分配一个不同的对象。你所说的暗示是什么意思?你为什么认为这个.holder存在?你有没有明确地把它分配到某个地方?“在其他语言中,我从来没有遇到过问题”-在任何其他语言中,它都是相同的(或编译错误),它的意思就是它所说的-this.holder
是未定义的
您读过错误消息文本吗?你认为这意味着什么?提示:你没有使用传递的参数,是吗?我确实读过文本,但我很好奇是否有办法解决这个问题。在其他语言中,我从来没有遇到过问题,因为我只是想给同一个名字分配一个不同的对象。你所说的暗示是什么意思?你为什么认为这个.holder存在?你有没有明确地把它分配到某个地方?“在其他语言中,我从来没有遇到过问题”-在任何其他语言中,它都是相同的(或编译错误),它的意思就是它所说的-this.holder
是未定义的
您读过错误消息文本吗?你认为这意味着什么?提示:你没有使用传递的参数,是吗?我确实读过文本,但我很好奇是否有办法解决这个问题。在其他语言中,我从来没有遇到过问题,因为我只是想给同一个名字分配一个不同的对象。你所说的暗示是什么意思?你为什么认为这个.holder存在?你有没有明确地把它分配到某个地方?“在其他语言中,我从来没有遇到过问题”——在任何其他语言中,它都是相同的(或编译错误),它的意思就是它所说的-this.holder
是未定义的