let和const循环访问集合有什么区别?

时间:2017-02-22 14:26:49

标签: javascript node.js ecmascript-6

使用Node.js(ES6)遍历集合中的每个对象,如下所示:

var statuses = [{
    statusId: 1,
    description: 'New'
  },
  {
    statusId: 2,
    description: 'Pending'
  },
  {
    statusId: 3,
    description: 'Approved'
  },
  {
    statusId: 4,
    description: 'Inactive'
  }
];

使用之间有什么区别:

for (const status of statuses) {
  console.log(status.description);
}

for (let status of statuses) {
  console.log(status.description);
}

输出是相同的 - 我应该注意哪些内容发生了什么?

1 个答案:

答案 0 :(得分:3)

使用let,可以进行以下操作 - 可以重新分配状态:

var statuses = [
  {statusId:1, description: 'New'},
  {statusId:2, description: 'Pending'},
  {statusId:3, description: 'Approved'},
  {statusId:4, description: 'Inactive'}  
];

for (let status of statuses) {
    status = {statusId:1, description: 'New'};
    console.log(status.description);
}

然而,const是不可能的。如果您不想意外重新分配,最好使用const。