は、インポート・バインディングは、その場合は、最初ではないだろう...私はJSの輸入は、実際に書き込み不可(不変ではない)であることelsewhereを読んで、JSのインポートは不変か書き込み不可ですか?私が言うことができるものから、
import { foo } from './foo';
...
foo.bar = 23; // works
...
foo = { bar: 23 }; // syntax error
が不変です代入文foo.bar = 23;
も構文エラーを投げる?
UPDATE(私は今それを理解する方法)
... @FelixKingことにより、優れた答えを言い換えする...
JSの輸入が輸出さのもの(変数、関数、など)への不変のバインディングです。
プリミティブでないインポートでは、インポートされたオブジェクトのプロパティが必ず不変または書き込み不能であるとは限りません。
ありがとうございます! JSのインポートには不変のバインディングがありますが、インポートされたオブジェクト自体は変更可能/書き換え不可能であると言うのは正しいでしょうか? – sfletche
はい、インポートバインディングは不変ですが、オブジェクトはデフォルトで変更可能です。 –
優秀!そして書き込み不能とは、 'foo'が既に' bar'プロパティーを(インポートの前に)定義していれば、上記のように 'foo.bar = 23'も構文エラーを投げることを意味します。 (この代入文は、 'foo'が' bar'プロパティを持っていない場合にのみ成功します。)正しいのでしょうか? – sfletche