Обязательный initialValue при [].reduce
Всегда ставлю initialValue при [].reduce:
[0, 1, 2, 3].reduce((sum, item) => sum + item, 0);
Если забить, то при пустом массиве будет ошибка
[].reduce((sum, item) => sum + item);
// TypeError: Reduce of empty array with no initial value
Про момент с пустым массивом легко забыть и напороться на баг. Лучше сразу ставить защиту.
Защищайтесь!