在for循环中创建对象的实例

时间:2017-01-12 17:26:24

标签: javascript class instance

我有这段代码:

  createNewDice = () =>{
    let dice;
    for(var i=0; i < 6; i++){
      dice[i] = new Dice();
    }
    console.log(dice, 'dice')
  }

当我调用该方法时,我收到错误Cannot set property '0' of undefined

这不是创建我的类的新实例的方法吗?

2 个答案:

答案 0 :(得分:1)

您尝试将属性设置为未定义的变量,因此在尝试将属性初始化变量定义为数组之前。

let dice = [];

答案 1 :(得分:1)

您需要先将骰子初始化为数组。

createNewDice = () =>{
  let dice = [];
  for(var i=0; i < 6; i++){
    dice[i] = new Dice();
  }
  console.log(dice, 'dice')
}

编辑评论 -

如果你想给它们命名,那就做Pranav在使用对象时提出的建议。我可能采取与Pranav建议不同的方法,并按照 -

的方式做一些事情
const dice = {
  one: new Dice();
  two: new Dice();
  ...
  six: new Dice();
};