Uso do spread em JavaScript

Suponha que temos uma função com 5 parâmetros:

javascriptfunction func(num1, num2, num3, num4, num5) {
  return num1 + num2 + num3 + num4 + num5;
}

Podemos usar o spread para passar um array para esta função:

javascriptfunc(...[1, 2, 3, 4, 5]);

Mas isso não é obrigatório!

Podemos passar dois arrays:

javascriptfunc(...[1, 2], ...[3, 4, 5]);

Podemos passar alguns parâmetros da maneira convencional, e outros - usando spread:

javascriptfunc(1, 2, ...[3, 4, 5]);

Ou assim:

javascriptfunc(1, ...[2, 3, 4], 5);
Задание 1

Sem executar o código, determine o que será exibido no console:

javascriptfunction func(n1, n2, n3, n4, n5, n6, n7, n8) {
  return (n1 + n2 + n3 + n4) * (n5 + n6 + n7 + n8);
}

console.log( func(1, ...[2, 3, 4], 5, ...[6], ...[7, 8]) );