Symbol и перегрузка for of в js? Здравствуйте. Правильно ли я понимаю, что следующий код:let obj = { to: 10, [Symbol.iterator]: function () { let curr = 0; let stop = this.to; return { next() { if (curr <= stop) return { done: false, value: curr++ } else return { done: true } } } } } for (let num of obj) { console.log(num); } это, фактически, перегрузка цикла for of?
Да, вы правильно понимаете. Ваш код демонстрирует перегрузку цикла for of с использованием символьного свойства Symbol.iterator. При использовании символьного свойства Symbol.iterator объекта, вы можете задать специальную логику для итерации по свойствам объекта при помощи цикла for of. В вашем случае, объект obj определяет специальный итератор, который позволяет итерироваться от 0 до заданного значения to с шагом 1. Когда цикл for of работает с объектом obj, он будет использовать этот специальный итератор для перебора значений и вывода их на консоль.
Да, вы правильно понимаете. Ваш код демонстрирует перегрузку цикла for of с использованием символьного свойства Symbol.iterator. При использовании символьного свойства Symbol.iterator объекта, вы можете задать специальную логику для итерации по свойствам объекта при помощи цикла for of. В вашем случае, объект obj определяет специальный итератор, который позволяет итерироваться от 0 до заданного значения to с шагом 1. Когда цикл for of работает с объектом obj, он будет использовать этот специальный итератор для перебора значений и вывода их на консоль.