Nota: el código usa spread syntax , no rest parameters .
const fn1 = undefined const args = [] const fn2 = () => {} const fn3 = () => {} console.log(fn1?.(...args, fn2, fn3))Error:
console.log(fn1?.(...args, fn2, fn3)) ^ TypeError: Function.prototype.apply was called on undefined, which is an undefined and not a functionHay un par de reglas a seguir con los argumentos de descanso.
Una de esas reglas es que el argumento ...rest solo puede ser el último argumento.
foo(...one, ...wrong, ...wrong) foo(...wrong, bad, bad) foo(ok, ok, ...correct)Ver:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters
Resulta ser un error V8, lo envié allí , espero que se solucione pronto.
Actualización: se ha solucionado .