上級 › プライベートフィールド外部アクセスの構文エラー原因 › パターン3
プライベートフィールド外部アクセスの構文エラー原因
#で始まるプライベートフィールドを、宣言したクラスの外からドットで直接読み書きしようとしたときに出るエラーです。
1 class Timer { 2 #seconds = 0; 3 tick() { this.#seconds++; } 4 getSeconds() { return this.#seconds; } 5 } 6 const t = new Timer(); 7 t.tick(); 8 t.tick(); 9 console.log(______________); ^
main.js:9
console.log(t.#seconds);
^
SyntaxError: Private field '#seconds' must be declared in an enclosing class
空欄を埋めて実行を通す
#secondsを外から直接読もうとすると実行前の構文チェックで弾かれます。公開したい値はgetSeconds()のようなメソッドで返します。
次の問題