Disons que j'ai une variable que je souhaite exporter. Quelle est la différence entre
export const a = 1;
contre
export let a = 1;
Je comprends la différence entre const
et let
, mais lorsque vous les exportez, quelles sont les différences?
export
détails du mot-clé ici . Actuellement, il n'est pris en charge de manière native par aucun des navigateurs Web.Réponses:
Dans ES6, les
import
s sont des vues en lecture seule en direct sur les valeurs exportées. Par conséquent, lorsque vous le faitesimport a from "somemodule";
, vous ne pouvez pas affecter àa
quelle que soit la façon dont vous déclareza
dans 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):
Comme vous pouvez le voir, la différence réside vraiment dans
lib.js
, nonmain1.js
.Résumer:
import
variables -ed, quelle que soit la manière dont vous déclarez les variables correspondantes dans le module.let
-vs-const
s'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, laimport
variable -ed change en conséquence.Référence: http://exploringjs.com/es6/ch_modules.html#leanpub-auto-in-es6-imports-are-live-read-only-views-on-exported-values
la source
Je pense qu'une fois que vous l'avez importé, le comportement est le même (à l'endroit où votre variable sera utilisée en dehors du fichier source).
La seule différence serait si vous essayez de le réaffecter avant la fin de ce fichier.
la source