Symbol.iterator - вказує ітераційну поведінка об'єкта.
Symbol.iterator;
Symbol - об'єкт Symbol.
iterator властивість об'єкта Symbol яка вказує ітераційну поведінку для об'єкта.
var ob={name:'js'};
ob[Symbol.iterator]=function* (){
yield 1;
yield 2;
yield 3;
};
alert( [...ob] ); // [1, 2, 3]
var ob={x:0,y:5};
ob[Symbol.iterator]=function(){
var index=this.x, count = this.y;
return{
next(){
return (index <= count)?{ done: false, value: index++ }:{ done: true };
}
};
};
alert( ...ob );
var myObject={
from: 1,
to: 3,
[Symbol.iterator]: function(){return this;},
next(){
this.current=this.current || this.from;
if(this.current <= this.to)
return { done: false, value: this.current++ };
else
return { done: true };
}
}
for(let num of myObject){
alert(num);
}