[javascript] ¿Qué es SpreadElement en la documentación de ECMAScript? ¿Es lo mismo que el operador de extensión en MDN?


Answers

SpreadElement es solo un nombre en la gramática ES6 para el "operador" extendido junto con su argumento cuando está en un literal Array:

SpreadElement[Yield]:
    ... AssignmentExpression[In, ?Yield]

Entonces, SpreadElement en [a, b, ...c] es ...c ; El "operador" de difusión es ... (susto citas porque no es un operador real en el mismo sentido que, por ejemplo - es).

El nombre de la regla de gramática que se usa en las llamadas a funciones será diferente, ya que es un contexto gramatical diferente (es solo un tipo de ArgumentList ).

Question

En la especificación ECMAScript se describe SpreadElement

SpreadElement[Yield]:
...AssignmentExpression[In, ?Yield]

¿Es esto lo mismo que el Spread operator

El operador de expansión permite que una expresión se expanda en lugares donde se esperan múltiples argumentos (para llamadas a funciones) o múltiples elementos (para literales de matriz) o múltiples variables (para asignación de desestructuración).

Sintaxis

Para llamadas a funciones:

myFunction(...iterableObj);

Para literales de matriz:

[...iterableObj, 4, 5, 6]

descrito en la documentación de MDN ?

¿Cuáles son los casos de uso de SpreadElement y, o, Spread operator ; y si el Spread operator SpreadElement y Spread operator son diferentes, ¿en qué maneras específicas difieren?




Links