javascript es6: caso de uso para destruir o parâmetro rest
Acabei de ver um trecho de código no MDN sobre a desestruturação dos parâmetros de descanso, assim:
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)
o snippet de código está nesta página:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters
Embora o caso de uso comum para os parâmetros de descanso seja muito claro para mim (function foo(...params){/*code*/}
) Não consegui pensar em um caso de uso do mundo real para usar parâmetros de descanso como a maneira apresentada nesse trecho de código. Em vez disso, acho que, nesse caso, devo apenas usar uma definição de função comum:
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)