let和const循环一个集合有什么区别?
使用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); }
输出是相同的 – 有什么事情发生在我应该知道的引擎盖下?
随着让,以下是可能的 – 地位可以重新分配:
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是可取的。
let
块范围声明。 定义/参考仅限于其范围的块。
当您想要将声明的引用修复为基元或对象或数组时,使用const
。 然而,是使用对象或数组,它里面的值仍然可以改变。
如果你不想意外重新分配,const是可取的。