w3schools es6 entre ecmascript diferencia javascript ecmascript-6 babel ecmascript-next spread

es6 - let javascript w3schools



utilizando el operador de extensión `...` en javascript es6 llamado exports (1)

Estoy intentando importar todo de una biblioteca como un hash, modificarlo y volver a exportar el hash modificado, sin conocer todas las exportaciones nombradas en una biblioteca. Por ejemplo:

import * as reactBootstrap from ''react-bootstrap''; wrappedReactBootstrap = doFunnyThingsTo(reactBootstrap); export { ...wrappedReactBootstrap }; // or export wrappedReactBootstrap;

Mi comprensión de https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export es que la especificación no permite lo siguiente. ¿Alguien podría confirmar?

Obviamente, el bucle no es posible, ya que las declaraciones de exportación e importación deben ser de primer nivel.


La extensión de reposo de objeto es una propuesta de etapa 3 y no una parte de ninguna especificación (probablemente se incluirá en ES2018).

Más importante aún, export tiene una sintaxis que imita la sintaxis JS existente pero no interpreta { ... } como una expresión. export sintaxis de export se definió estrictamente porque se supone que los módulos ES2015 deben analizarse estáticamente. Este es uno de sus beneficios, pero requiere que el desarrollador especifique exportaciones e importaciones explícitamente.

Dado que { ...wrappedReactBootstrap } introduce la exportación dinámica (se usó aquí exactamente para este propósito), no es compatible con la export módulo ES2015 y es muy poco probable que lo sea.

Si es necesario proporcionar un comportamiento dinámico para la exportación, se puede exportar e importar como nombre o como objeto predeterminado.

import * as reactBootstrap from ''react-bootstrap''; export default doFunnyThingsTo(reactBootstrap);

Y usado como

import wrappedReactBootstrap from ''...''; const { funny, thing } = wrappedReactBootstrap;

Obviamente, el objeto wrappedReactBootstrap no obtendrá los beneficios de los módulos ES2015 de esta manera, p. Ej. Tree Shaking.