【发布时间】:2015-07-17 20:52:41
【问题描述】:
我目前正在试验 ECMA6 类。 我当前的课程如下所示
class Player {
constructor(id) {
this.id = id;
this.cash = 350;
}
get cash() {
return this.cash;
}
set cash(value) { // line 19
this.cash = value; // line 20
}
};
当我现在通过调用let playerObject = new Player(1); 创建一个新对象时,我收到以下错误
...\node_modules\mysql\lib\protocol\Parser.js:82
throw err;
^
RangeError: Maximum call stack size exceeded
at Player.cash (player.js:19:11)
at Player.cash (player.js:20:15)
at Player.cash (player.js:20:15)
at Player.cash (player.js:20:15)
at Player.cash (player.js:20:15)
at Player.cash (player.js:20:15)
at Player.cash (player.js:20:15)
at Player.cash (player.js:20:15)
at Player.cash (player.js:20:15)
at Player.cash (player.js:20:15)
Press enter to exit
这和mysql库有什么关系?为什么错误在同一行中多次出现?我只调用一次。
【问题讨论】:
-
我对 ECMA6 类的了解不够,但您似乎在递归调用您的 setter。
-
递归调用是什么意思?
-
表示它在调用自己。尝试将您的 setter 方法重命名为现金以外的其他名称。
标签: javascript node.js node-mysql