Принципиальное отличие способов приведения к массиву

Всем доброго дня. Подскажите пожалуйста, чем отличаются эти две записи?

const a = (...args) => Array.of(...args);
const b = Array.of;

Ответы (1 шт):

Автор решения: vp_arth

Второй способ теряет контекст, что для данной конкретной функции не принципиально, поскольку она его не использует.

Правильнее было бы записать const b = Array.of.bind(Array)

В отличии от этого способа, первый создаёт лишний уровень в стеке вызовов.

Если некто додумается испортить метод: Array.of = () => [];, первый способ изменит поведение, а второй нет)

В остальном, функционально способы идентичны.

→ Ссылка