Angenommen, ich habe eine Variable, die ich exportieren möchte. Was ist der Unterschied zwischen
export const a = 1;
vs.
export let a = 1;
Ich verstehe den Unterschied zwischen const
und let
, aber wenn Sie sie exportieren, was sind die Unterschiede?
export
Keyword-Details hier . Derzeit wird es von keinem der Webbrowser nativ unterstützt.Antworten:
In ES6 sind
import
s schreibgeschützte Live-Ansichten für exportierte Werte. Infolgedessenimport a from "somemodule";
können Sie in diesem Fall keine Zuordnung vornehmen,a
unabhängig davon, wie Sie dies deklarierena
im Modul .Da es sich bei importierten Variablen jedoch um Live- Ansichten handelt, ändern sie sich beim Export entsprechend der exportierten "rohen" Variablen. Betrachten Sie den folgenden Code (aus dem folgenden Referenzartikel entlehnt):
Wie Sie sehen können, liegt der Unterschied wirklich darin
lib.js
, nichtmain1.js
.Zusammenfassen:
import
-ed-Variablen nicht zuweisen , unabhängig davon, wie Sie die entsprechenden Variablen im Modul deklarieren.let
-vs-const
Semantik gilt für die deklarierte Variable im Modul.const
, kann sie nirgendwo neu zugewiesen oder zurückgebunden werden.let
, kann sie nur im Modul neu zugewiesen werden (nicht jedoch im Benutzer). Wenn es geändert wird,import
ändert sich die Variable -ed entsprechend.Referenz: http://exploringjs.com/es6/ch_modules.html#leanpub-auto-in-es6-imports-are-live-read-only-views-on-exported-values
quelle
Ich denke, sobald Sie es importiert haben, ist das Verhalten das gleiche (an der Stelle, an der Ihre Variable außerhalb der Quelldatei verwendet wird).
Der einzige Unterschied wäre, wenn Sie versuchen, es vor dem Ende dieser Datei neu zuzuweisen.
quelle