one - map javascript
¿Por qué las funciones de flecha no tienen la matriz de argumentos? (1)
Las funciones de flecha no tienen esto ya que el objeto tipo matriz de
arguments
fue una solución para comenzar, que ES6 ha resuelto con un parámetro
rest
:
var bar = (...arguments) => console.log(arguments);
arguments
no se reservan aquí, sino que se eligen.
Puedes llamarlo como quieras y se puede combinar con parámetros normales:
var test = (one, two, ...rest) => [one, two, rest];
Incluso puede ir hacia el otro lado, ilustrado por esta aplicación elegante:
var fapply = (fun, args) => fun(...args);
Esta pregunta ya tiene una respuesta aquí:
function foo(x) {
console.log(arguments)
} //foo(1) prints [1]
pero
var bar = x => console.log(arguments)
da el siguiente error cuando se invoca de la misma manera:
Uncaught ReferenceError: arguments is not defined