javascript es6: caso de uso para desestructurar el parámetro de descanso

Acabo de ver un fragmento de código en MDN sobre la desestructuración de los parámetros de reposo de esta manera:

function f(...[a, b, c]) {
  return a + b + c;
}

f(1)          // NaN (b and c are undefined)
f(1, 2, 3)    // 6
f(1, 2, 3, 4) // 6 (the fourth parameter is not destructured)

el fragmento de código está en esta página:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters

Aunque el caso de uso común para los parámetros de descanso es muy claro para mí (function foo(...params){/*code*/}) No podría pensar en un caso de uso del mundo real para usar parámetros de reposo como la forma presentada en ese fragmento de código. En cambio, creo que en ese caso, debería usar una definición de función común:

function f(a, b, c) {
  return a + b + c;
}

f(1)          // NaN (b and c are undefined)
f(1, 2, 3)    // 6
f(1, 2, 3, 4) // 6 (the fourth parameter is not defined)

Respuestas a la pregunta(5)

Su respuesta a la pregunta