未捕获的TypeError:无法设置未定义的属性''

时间:2014-06-08 20:51:42

标签: javascript typescript

我在游戏中工作,我希望有一个类型为Item(我自己的类)的属性,它从null开始,并在玩家拿起一个项目时设置。 我有代码:

    useItem: Item;

在播放器类的顶部声明,并在其构造函数中声明:

   this.useItem = null;

因为除非有项目,否则我希望它为空(这样我就什么都不知道了)

并且在Item类中我有:

 init(holder: Player) {
        this.holder.useItem = this;
    }

当玩家拿起一个项目时已经调用(该游戏已在游戏中早期创建) 但每次我运行此代码我都会收到错误 未捕获的TypeError:无法设置属性' useItem'未定义的

我能做什么?

1 个答案:

答案 0 :(得分:2)

您尝试访问useItem的{​​{1}}成员,但this.holder尚未初始化。在尝试使用其this.holder成员之前初始化this.holder