А вы знали, что теоретически spread-синтаксис в JS можно применять почти к любому типу.
Вот пример "обычного" использования:
Так давайте сделаем iterable!
Можно джунов за собесах мучить :)
Вот пример "обычного" использования:
// Массив спредится console.log([...[1, 2, 3]]); // [1, 2, 3] // Строка спредится console.log([...'Famabara']); // ['F', 'a', 'm', 'a', 'b', 'a', 'r', 'a']Но если попытаться заспредить number, то будет ошибка:
console.log([...555]); // Uncaught TypeError: 555 is not iterableНе является iterable.
Так давайте сделаем iterable!
Number.prototype[Symbol.iterator] = function * () {
yield 'Фамабара';
yield 'лучше';
yield 'всех';
}
console.log([...555]); // ['Фамабара', 'лучше', 'всех']
Мы успешно заспредили number! Толку от этого никакого, на сам факт забавен.Можно джунов за собесах мучить :)

