课程
/前端开发
/JavaScript
/TypeScript入门
老师,for...of貌似是不能迭代对象的吧,for..of遍历的对象应该包括数组,类数组集合,字符串,set和map结构等具有iterator接口的数据结构。而对象是没有iterator接口的
2018-07-11
源自:TypeScript入门 7-2
正在回答
你要这样自定义这个对象的遍历行为当然可以遍历了,手动去给它加上接口。但是就对于一个普通对象来说,它在原型的设计中就不存在iterator接口。Object.prototype[Symbol.iterator]打印出来的是undefined
var json = {a: 1,b: 2}; json[Symbol.iterator] = function* (){ for(var k of Object.keys(this)){ yield this[k]; } } for(var k of json){ console.log(json[k]) }
举报
TypeScript入门视频教程包括TypeScript的基本概念、常用语法和高级特性