回答編集履歴
1
回答となるであろう言葉(変更できない)を強調表示されるよう編集しました。
answer
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
---
|
6
6
|
エラーを意訳すると「サブモジュールのプロパティ値(exportされたKazu)はゲッターだよ」って意味ですよね。
|
7
|
-
このことから、「(main.jsで)他のモジュールから import した名称(**kazu**)は、そのモジュール内ではいわば**予約語**のように扱われ、変更できない」のだと勘違いしながら使っていますよ。
|
7
|
+
このことから、「(main.jsで)他のモジュールから import した名称(**kazu**)は、そのモジュール内ではいわば**予約語**のように扱われ、**変更できない**」のだと勘違いしながら使っていますよ。
|
8
8
|
|
9
9
|
(別途変数を用意して扱うとか、import時に別名に置き換えるとか)
|
10
10
|
|
@@ -17,4 +17,9 @@
|
|
17
17
|
|
18
18
|
let kazu = mKazu; // このモジュール内では kazu を変数として宣言
|
19
19
|
// (略)
|
20
|
-
```
|
20
|
+
```
|
21
|
+
----
|
22
|
+
追記)
|
23
|
+
ググると[JavaScript ES6のモジュール機能のスコープと仕様を調査してみた](https://blog.natade.net/2018/10/21/javascript-es6-%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB-%E4%BB%95%E6%A7%98/) を見つけました。
|
24
|
+
「穴」はあるようですが塞がれる可能性もある。
|
25
|
+
私自身も「サブモジュール内を書き換えることは考えないほうが良い」と勉強になりました。
|