JS 对象可以使用 for...of 迭代吗?
JavaScript 对象本身并不能直接使用 for...of 迭代,因为它并不是一个可迭代对象(iterable)。但是,如果我们想要遍历对象的属性,可以使用 for...in 循环,例如:
const obj = { name: 'John', age: 30, city: 'New York' }; for (let prop in obj) { console.log(prop + ': ' + obj[prop]); } // 这段代码可以输出: name: John age: 30 city: New York
需要注意的是,for...in 循环会遍历对象自身的所有可枚举属性(不包括原型链上的属性),包括非数字键和继承的属性。如果只想遍历对象自身的属性,可以使用 hasOwnProperty() 方法进行判断,例如:
const obj = { name: 'John', age: 30, city: 'New York' }; for (let prop in obj) { if (obj.hasOwnProperty(prop)) { console.log(prop + ': ' + obj[prop]); } }
这段代码和上面的代码功能是一样的,但是多了一个 hasOwnProperty() 判断,可以确保只输出对象自身的属性。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论