まず、const
が特定の変数に適用されることを覚えておいてください。その変数に異なる値を代入するのを防ぎます。値自体はconst
ではありません。 const
アスペクトは、const
と宣言されている変数自体に適用され、その値はどのような値を保持します。したがって、あなたの例では、そのモジュール内の実際のmyValue
変数にのみ適用され、変数には何の値も適用されません。これでそう
、:const
あるとconst
側面は、あなたがmyValue
変数に別の何かを割り当てることができないことを意味し
const myValue = { … }
export default myValue
それはmyValue
変数(ないその値)です。その同じ値を別の非const変数にコピーすると、他の変数に自由に任意のものを割り当てることができます。
変数の値をエクスポートすると、その変数はインポートする変数に割り当てられますが、const
と宣言されていない限り、const
ではありません。このモジュールのconst
は、それをインポートする他のモジュールの他の変数には何の影響も与えません。
あなたは論理的に(インポートモジュール内の)別の変数に値を割り当てるような種類のこのようエクスポートとインポートを考えることができます:私はあなたがすでに実現推測として、constとして
// exported value
const myValue = { … }; // exporting makes it available so others can import it
// imported value
let importedValue = myValue; // importing assigns the exported value to a new variable
// further assignment
importedValue = "foo"; // this is allowed because importedValue is not
// declared as const
そして、 -nessの値がmyValue
の場合、importedValue
はまったくありません。 myValue
とimportedValue
にあるもののコピーが含まれていて、他の値を割り当てることができます。 const
自体ではないので、const
ではありません。
定数を宣言してからデフォルトとしてエクスポートするか、デフォルトの書き出しとして直接宣言するかの違いはありますか?
エクスポートされた値に違いはありません。値自体は、JavaScriptのconst
ではないため、変数のみです。違いはconst
と宣言されているローカル変数のみであり、インポートするモジュールがアクセスできるものではないため、インポートするモジュールと違いはありません。
変数の値が何であるかは重要ではありません機能を使用して
か、同じ(機能、オブジェクト、プリミティブ、等...)。すべてのタイプで同じです。変数がconst
と宣言されている場合、その変数に別の値を代入することはできません。しかし、その値をconst
と宣言されていない別の変数にコピーすると、その非const変数に必要なものをさらに割り当てることができます。それは値ではなくconst
の変数です。 const
は、読み取り専用変数の宣言と同じように考えることができます。
ありがとう!それから私はこのパターンを使用します。 – adrianhurt