Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

291
Vistas
¿Información oficial sobre `argumentos` en las funciones de flecha ES6?
(() => console.log(arguments))(1,2,3); // Chrome, FF, Node give "1,2,3" // Babel gives "arguments is not defined" from parent scope

De acuerdo con Babel (y por lo que puedo decir de las recomendaciones iniciales de TC39), eso es "inválido" ya que las funciones de flecha deberían usar su alcance principal para los argumentos. La única información que he podido encontrar que contradice esto es un solo comentario que dice que esto fue rechazado por TC39, pero no puedo encontrar nada que lo respalde.

Solo busco documentos oficiales aquí.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Chrome, FF y el nodo parecen estar mal aquí, Babel tiene razón:

Las funciones de flecha no tienen un enlace de arguments propio en su alcance; no se crea ningún objeto de argumentos al llamarlos.

buscando documentos oficiales aquí

Las expresiones de función de flecha se evalúan como funciones que tienen su [[ThisMode]] establecido en lexical , y cuando se llaman así, la creación de instancias de declaración no crea un objeto de arguments . Incluso hay una nota específca (18 a) que dice que " Las funciones de flecha nunca tienen objetos de argumentos ".

over 4 years ago · Santiago Trujillo Denunciar

0

Como señaló Bergi, las funciones de flecha no tienen su propia variable de arguments .

Sin embargo, si desea capturar los argumentos para su función de flecha, simplemente puede usar un parámetro de descanso

 const myFunc = (...args) => console.log ("arguments", args) myFunc (1, 2, 3) // arguments [1, 2, 3]

Los parámetros de descanso se pueden combinar con otros parámetros posicionales, pero siempre deben incluirse como el último parámetro

 const myFunc = (a, b, c, ...rest) => console.log (a, b, c, rest) myFunc (1, 2, 3, 4, 5, 6, 7) // 1 2 3 [ 4, 5, 6, 7 ]

Si comete el error de escribir un parámetro de descanso en cualquier otra posición, obtendrá un Error

 const myFunc = (...rest, a, b, c) => console.log (a, b, c, rest) myFunc (1, 2, 3, 4, 5, 6, 7) // Error: Rest parameter must be last formal parameter

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda