エクスポートしたい変数があるとします。Javascript ES6 export const vs export let
export let a = 1;
私はconst
とlet
の違いを理解対
export const a = 1;
の違いは何ですが、あなたがそれらをエクスポートするとき、違いは何ですか?
エクスポートしたい変数があるとします。Javascript ES6 export const vs export let
export let a = 1;
私はconst
とlet
の違いを理解対
export const a = 1;
の違いは何ですが、あなたがそれらをエクスポートするとき、違いは何ですか?
ES6では、import
は、エクスポートされた値のライブ読み取り専用ビューです。あなたがimport a from "somemodule";
を行う際にその結果、あなたは関係なく、あなたがモジュールでa
を宣言する方法a
に割り当てることはできません。
ただし、インポートされた変数はliveビューであるため、エクスポートの「生の」エクスポートされた変数に従って変更されます。 (下記参照記事から借りた)次のコードを考えてみましょう:あなたが見ることができるように
//------ 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
が、差は本当にlib.js
、ないmain1.js
です。
を要約しないように:あなたは
import
-ed変数に割り当てることはできません
let
-vs- const
セマンティクスはモジュールで宣言された変数に適用されます。
const
と宣言されている場合は、その変数をどこにでも再割り当てまたはリバウンドすることはできません。let
宣言された場合、それが唯一のモジュール(ただしユーザー)に再割り当てすることができます。それが変更された場合、import
はそれに応じて、変数の変更を-ed。一度インポートすると、動作は同じになります(変数はソースファイルの外で使用されます)。
唯一の違いは、このファイルの最後の前に再割り当てしようとする場合です。
'export'キーワード詳細(https://developer.mozilla.org/en/docs/web/javascript/reference/statements/export)。現在のところ、Webブラウザではネイティブにサポートされていません。 – RBT