疑問
index.jsファイルがimportしたsub.jsファイルの変数を、index.jsファイルから値を書き換えることは出来ないのでしょうか?
経緯
今までjsファイルを複数書いた時、html内にスクリプトタグをいくつも書くような、古典的な方法をとっていました。
ES6のモジュール機能について学んだので、実際に使ってみましたが、上手くいかないことがありました。
index.js
import {kazu} from 'sub.js'; kazu = 5; console.log(kazu);
sub.js
export var kazu =3;
index.jsを実行するとエラーが走ります。以下はエラー文です。
> Uncaught TypeError: Cannot set property kazu of #<Object> which has only a getter
エラー文のgoogle翻訳したところ、解釈に困る文章が返ってきました。
英語が弱い自分なりに読んでみると、「only a getter」と書かれているので、ゲット専用ということが読み取れます。
試してみたこと調べてみたこと
変数の値の変更について調べると、グローバル変数やスコープなどの記事が多く、import先の変数を書き換える方法みたいな記事はなかなかヒットしませんでした。
質問
sub.jsで定義された変数をindex.jsから書き換える方法はないのでしょうか?
「only a getter」と書かれているということは、値の変更は出来ないのでしょうか。
もしindex.jsから変数の値を書き換えることができる方法があれば、そのヒントや検索キーワードを教えて欲しいです。
回答2件
あなたの回答
tips
プレビュー