叠代器協議:實現自定義叠代器
阿新 • • 發佈:2019-05-11
don info 無限 擁有 png script https ava 產生
叠代器協議定義了一種標準的方式來產生一個有限或無限序列的值,並且當所有的值都已經被叠代後,就會有一個默認的返回值。
當一個對象只有滿足下述條件才會被認為是一個叠代器:它實現了一個 next()
的方法並且擁有特殊含義。
MDN 叠代器協議
let fridge = { name: "卡薩帝冰箱", color: "白色", brand: "海爾" }; fridge[Symbol.iterator] = () => { let keys = Object.keys(fridge); return { next: () => { let attr= keys.shift(); return { done: attr == null, value: fridge[attr] }; } }; }; for (let attr of fridge) { console.log(attr); } let desc = [...fridge]; console.log(desc);
叠代器協議:實現自定義叠代器