Принципиальное отличие способов приведения к массиву
Всем доброго дня. Подскажите пожалуйста, чем отличаются эти две записи?
const a = (...args) => Array.of(...args);
const b = Array.of;
Ответы (1 шт):
Автор решения: vp_arth
→ Ссылка
Второй способ теряет контекст, что для данной конкретной функции не принципиально, поскольку она его не использует.
Правильнее было бы записать const b = Array.of.bind(Array)
В отличии от этого способа, первый создаёт лишний уровень в стеке вызовов.
Если некто додумается испортить метод: Array.of = () => [];, первый способ изменит поведение, а второй нет)
В остальном, функционально способы идентичны.