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 function
Hay 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 .