teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

回答となるであろう言葉(変更できない)を強調表示されるよう編集しました。

2019/10/29 09:16

投稿

AkitoshiManabe
AkitoshiManabe

スコア5434

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
+ 私自身も「サブモジュール内を書き換えることは考えないほうが良い」と勉強になりました。