Respuestas:
En ES6, los imports son vistas en vivo de solo lectura en valores exportados. Como resultado, cuando lo hace import a from "somemodule";, no puede asignar a ano importa cómo declare aen el módulo.
Sin embargo, dado que las variables importadas son vistas en vivo , cambian de acuerdo con la variable exportada "en bruto" en las exportaciones. Considere el siguiente código (tomado del artículo de referencia a continuación):
//------ lib.js ------
export let counter = 3;
export function incCounter() {
counter++;
}
//------ main1.js ------
import { counter, incCounter } from './lib';
// The imported value `counter` is live
console.log(counter); // 3
incCounter();
console.log(counter); // 4
// The imported value can’t be changed
counter++; // TypeError
Como puede ver, la diferencia realmente radica en lib.js, no main1.js.
Para resumir:
importvariables a, sin importar cómo declare las variables correspondientes en el módulo.let-vs- tradicional se constaplica a la variable declarada en el módulo.
const, no se puede reasignar o rebotar en ningún lado.let, solo se puede reasignar en el módulo (pero no el usuario). Si se cambia, la importvariable -ed cambia en consecuencia.
exportdetalles de palabras clave aquí . Actualmente no es compatible de forma nativa con ninguno de los navegadores web.