Показать сообщение отдельно
  #8 (permalink)  
Старый 12.04.2020, 11:55
Кандидат Javascript-наук
Отправить личное сообщение для jaroslav.tavgen Посмотреть профиль Найти все сообщения от jaroslav.tavgen
 
Регистрация: 18.09.2014
Сообщений: 128

Сообщение от voraa Посмотреть сообщение
Поизучайте автовставку ';'

Array.prototype.sum = function (...arguments){
    return this.reduce(arguments);
};
[1,2,3].sum((a,b)=>a+b);
Офигеть. То есть, если добавить точку с запятой, то этого аномального undefined нет.

А как это работает? Я прочитал про автоставку точки с запятой https://codeburst.io/ecmascript-auto...n-50f09091e377 , но до сих пор не понял, что меняет наличие или отсутствие точки с запятой после закрывающей скобки }

UPD: начинаю понимать. Дело в том. что [1,2,3]... идёт сразу после закрывающей фигурной скобки. Если в консоле Chrome в начале отдельно выполнить Array.prototype..., а потом отдельно [1,2,3]... , то undefined нет. В общих чертах начал понимать, но до конца пока неясно.

Последний раз редактировалось jaroslav.tavgen, 12.04.2020 в 12:06.
Ответить с цитированием