陌上兮月
2018-07-11 16:12
老师,for...of貌似是不能迭代对象的吧,for..of遍历的对象应该包括数组,类数组集合,字符串,set和map结构等具有iterator接口的数据结构。而对象是没有iterator接口的
你要这样自定义这个对象的遍历行为当然可以遍历了,手动去给它加上接口。但是就对于一个普通对象来说,它在原型的设计中就不存在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入门
59298 学习 · 101 问题