Допустим, у меня есть переменная, которую я хочу экспортировать. какая разница между
export const a = 1;
против
export let a = 1;
Я понимаю разницу между const
и let
, но когда вы экспортируете их, какие различия?
Допустим, у меня есть переменная, которую я хочу экспортировать. какая разница между
export const a = 1;
против
export let a = 1;
Я понимаю разницу между const
и let
, но когда вы экспортируете их, какие различия?
export
ключевые слова здесь . В настоящее время он не поддерживается ни одним из веб-браузеров.Ответы:
В ES6
import
s - это представления в режиме реального времени только для чтения для экспортируемых значений. В результате, когда вы делаетеimport a from "somemodule";
, вы не можете назначить,a
независимо от того, как вы объявляетеa
в модуле.Однако, поскольку импортируемые переменные являются оперативными представлениями, они изменяются в соответствии с «необработанной» экспортируемой переменной в экспорте. Рассмотрим следующий код (заимствован из справочной статьи ниже):
Как вы видите, разница действительно заключается
lib.js
, а неmain1.js
.Подвести итоги:
import
-ed переменным, независимо от того, как вы объявляете соответствующие переменные в модуле.let
-vs-const
применяется к объявленной переменной в модуле.const
, она нигде не может быть переназначена или переназначена.let
, она может быть переназначена только в модуле (но не в пользователе). Если это изменяется,import
переменная -ed изменяется соответственно.Ссылка: http://exploringjs.com/es6/ch_modules.html#leanpub-auto-in-es6-imports-are-live-read-only-views-on-exported-values
источник
Я думаю, что после того, как вы его импортировали, поведение будет таким же (в месте, где ваша переменная будет использоваться вне исходного файла).
Единственная разница будет, если вы попытаетесь переназначить его до конца этого самого файла.
источник