Katakanlah saya memiliki variabel yang ingin saya ekspor. Apa bedanya
export const a = 1;
vs.
export let a = 1;
Saya mengerti perbedaan antara const
dan let
, tetapi ketika Anda mengekspornya, apa perbedaannya?
Katakanlah saya memiliki variabel yang ingin saya ekspor. Apa bedanya
export const a = 1;
vs.
export let a = 1;
Saya mengerti perbedaan antara const
dan let
, tetapi ketika Anda mengekspornya, apa perbedaannya?
export
detail kata kunci di sini . Saat ini tidak didukung secara native oleh browser web mana pun.Jawaban:
Dalam ES6,
import
adalah tampilan hanya baca langsung pada nilai yang diekspor. Akibatnya, ketika Anda melakukannyaimport a from "somemodule";
, Anda tidak dapat menetapkana
tidak peduli bagaimana Anda mendeklarasikana
dalam modul.Namun, karena variabel yang diimpor adalah tampilan langsung , mereka berubah sesuai dengan variabel yang diekspor "mentah" dalam ekspor. Pertimbangkan kode berikut (dipinjam dari artikel referensi di bawah):
Seperti yang Anda lihat, perbedaannya terletak pada
lib.js
, bukanmain1.js
.Untuk meringkas:
import
variabel -ed, tidak peduli bagaimana Anda mendeklarasikan variabel yang sesuai dalam modul.let
-vs- tradisionalconst
berlaku untuk variabel yang dideklarasikan dalam modul.const
, itu tidak dapat dipindahkan atau rebound di mana saja.let
, itu hanya dapat ditugaskan kembali dalam modul (tetapi bukan pengguna). Jika diubah,import
variabel -ed akan berubah.Referensi: http://exploringjs.com/es6/ch_modules.html#leanpub-auto-in-es6-import-are-live-read-only-views-on-exported-values
sumber
Saya pikir setelah Anda mengimpornya, tingkah lakunya sama (di tempat variabel Anda akan digunakan di luar file sumber).
Satu-satunya perbedaan adalah jika Anda mencoba menetapkan ulang sebelum akhir file ini.
sumber