从MDN JavaScript参考页面的for...of条语句中看到了这一小段,在描述部分的结尾,它说:

您可以使用析构为多个局部变量赋值,或使用类似for (x.y of iterable)的属性访问器将值赋给对象属性.

什么意思?您不能使用x.y语法来定义for...of语句中的local variable. 我在一个使用node的简短脚本文件中逐字try 了这一点.错误消息为ReferenceError: x is not defined

我错过了什么?

推荐答案

您可以使用解构为多个局部变量赋值,

这意味着我们可以在for循环中分解对象array.

For example,个个

const iterable = [{a:'1', b:'10'}, {a:'2', b:'20'}, {a:'3', b:'30'}];

for (let {a, b} of iterable) {
  console.log(a);
  console.log(b);
}

或者使用像for(Iterable的X.Y)这样的属性访问器将 值设置为对象属性.

这意味着我们可以使用属性访问器将数组中的值赋给对象的属性.

For example,个个

const iterable = [{a:'1', b:'10'}, {a:'2', b:'20'}, {a:'3', b:'30'}];
let obj = {iterateValue:'', anyOtherValue:'Anything'}
// let obj = {}
// can be an empty object 
for (obj.iterateValue of iterable) {
  console.log(obj);
}

You can't have x.y syntax for defining the local variable in a for...of statement.

您需要在for循环之前定义对象x.不是在for...of statement米之内.

ReferenceError: x is not defined

这个错误意味着你还没有定义x并试图使用它.你需要在for循环之前定义它.

Javascript相关问答推荐

如何使用JavaScript用等效的功能性HTML替换标记URL格式?

使用AJX发送表单后,$_Post看起来为空

Redux工具包查询(RTKQ)端点无效并重新验证多次触发

Cypress -使用commands.js将数据测试id串在一起失败,但在将它们串在一起时不使用命令有效

Javascript,部分重排序数组

colored颜色 检测JS,平均图像 colored颜色 检测JS

函数返回与输入对象具有相同键的对象

使用Java脚本根据按下的按钮更改S文本

使用JQuery单击元素从新弹出窗口获取值

未定义引用错误:未定义&Quot;而不是&Quot;ReferenceError:在初始化&Quot;之前无法访问';a';

如何找到带有特定文本和测试ID的div?

用Reaction-RT-Chart创建实时条形图

是否设置以JavaScript为背景的画布元素?

谷歌饼图3D切片

Plotly.js栏为x轴栏添加辅助文本

如何在Reaction中设置缺省值, Select 下拉列表,动态追加剩余值?

将以前缓存的 Select 器与querySelector()一起使用

如何创建一个for循环,用于计算仪器刻度长度并将其放入一个HTML表中?

将匿名函数附加到链接的onClick属性

单击子按钮时将活动切换类添加到父分区