параметры (...args) => console.log(args) и в итоге они транспайлятся в цикл for (var i = 0; i < arguments.length; i++) args[i] = arguments[i]
Причём так делают все - TS, babel и buble (хотя buble делает через while). Собственно вопрос почему эту трансформацию тоже не вынести в хелпер, какая причина такого поведения всех транспиляторов?
Во первых это дает совместимость (и кажется устраняет неконсистентность в старых браузерах даже у которых есть поддержка rest/spread синтаксиса). Во вторых это значительно быстрее и не приведет в переполнению стека. Я даже немного внес вклад в это дело для __spreadArrays: https://github.com/microsoft/TypeScript/pull/31166#issuecomment-488250735 Правда мне даже спасибо не сказали =(
Обсуждают сегодня