首页 > 解决方案 > 更改类变量的值

问题描述

如果这是直截了当的事情,我会提前道歉。对于实际搜索相关文档需要哪些技术术语,我感到有些不知所措。这是相当直截了当的东西。我有一个类,该类的一个实例和一个我想运行的函数,这将改变类构造函数中建立的值之一。下面你会发现一个有效的例子,正是我的目标。

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,
  },
  {
    ...
  }];

同样,技术术语让我难以理解,所以我不知道要寻找什么。任何信息,即使它只是将我指向谷歌搜索词的模糊方向,也会很棒。谢谢你。

标签: javascript

解决方案


您可能想要console.log(PL1)代替console.log(player), 因为播放器是您的updatePL功能的本地。您_wins也在课堂上使用过,但winsupdatePL确保您使用的是相同的。

不过,在这两者之间,为什么在变异时将 PL1 声明为常量?你也不需要从返回player.wins,你总是可以像这样或updatePL从对象本身访问这个道具PL1.wins.PL1.your_getter


推荐阅读