javascript - 更改类变量的值
问题描述
如果这是直截了当的事情,我会提前道歉。对于实际搜索相关文档需要哪些技术术语,我感到有些不知所措。这是相当直截了当的东西。我有一个类,该类的一个实例和一个我想运行的函数,这将改变类构造函数中建立的值之一。下面你会发现一个有效的例子,正是我的目标。
class CLASS {
constructor(name) {
this._name = name;
this._round = 0;
this._wins = 0;
this._losses = 0;
}
get name(){
return this._name;
}
...
}
const PL1 = new CLASS('Player 1');
...
function updatePL(player, pointsFor, pointsAgainst) {
if (pointsFor > pointsAgainst) {
return player.wins++ } else if ...
...
}
console.log(PL1); // Prebiously "console.log(player)" Edited. Not source of issue in actual code.
updatePL(PL1, 1, 0);
console.log(PL1); //No changes
我在函数内部和外部尝试了各种加减法。我难住了。此外,我在这样的事情中执行了相当相似的步骤,没有任何问题:
object = [{
a: 1,
b: 2,
},
{
...
}];
同样,技术术语让我难以理解,所以我不知道要寻找什么。任何信息,即使它只是将我指向谷歌搜索词的模糊方向,也会很棒。谢谢你。
解决方案
您可能想要console.log(PL1)
代替console.log(player)
, 因为播放器是您的updatePL
功能的本地。您_wins
也在课堂上使用过,但wins
请updatePL
确保您使用的是相同的。
不过,在这两者之间,为什么在变异时将 PL1 声明为常量?你也不需要从返回player.wins
,你总是可以像这样或updatePL
从对象本身访问这个道具PL1.wins.
PL1.your_getter
推荐阅读
- docker - 无法使用 shell 脚本启动 docker 容器
- faunadb - 如何在 FaunaDB 中获取嵌套文档?
- c++ - 浮点数组的 std::max_element
- angular - 使用 Amplify Codegen 自定义 GraphQL 查询
- c++ - 二维阵列反转线中的 SegFault
- c# - 在用户必须键入所有电影标题之前,如何让我的代码识别数组编号太大?
- azure-logic-apps - LogicApp 是否可以不尊重 FIFO 总线消息?
- r - 如何从文本中折叠具有特定模式的某些字符串?
- excel - 跨不同工作表的索引匹配
- angular - Angular Nebular 样式不适用于 NbChatComponent