Réponses:
Dans ES6, les imports sont des vues en lecture seule en direct sur les valeurs exportées. Par conséquent, lorsque vous le faites import a from "somemodule";, vous ne pouvez pas affecter à aquelle que soit la façon dont vous déclarez adans le module.
Cependant, comme les variables importées sont des vues en direct , elles changent en fonction de la variable exportée «brute» dans les exportations. Considérez le code suivant (emprunté à l'article de référence ci-dessous):
//------ 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
Comme vous pouvez le voir, la différence réside vraiment dans lib.js, non main1.js.
Résumer:
importvariables -ed, quelle que soit la manière dont vous déclarez les variables correspondantes dans le module.let-vs- consts'applique à la variable déclarée dans le module.
const, elle ne peut pas être réaffectée ou rebondie nulle part.let, elle ne peut être réaffectée que dans le module (mais pas l'utilisateur). Si elle est modifiée, la importvariable -ed change en conséquence.
exportdétails du mot-clé ici . Actuellement, il n'est pris en charge de manière native par aucun des navigateurs Web.