🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1120閲覧

vscodeでjavascriptのクラス内のprivate変数にエラーが出る

KonjacDesert

総合スコア14

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

1グッド

1クリップ

投稿2019/12/19 06:01

編集2019/12/19 06:02

vscode上で,以下のようにクラスの中にプライベート変数を作るとエラーが出ます.

エラー
"無効な文字です。[4,3]" "無効な文字です。[6,10]" "無効な文字です。[9,22]"
コード

js

1"use strict"; 2 3class Counter { 4 #counter; 5 constructor() { 6 this.#counter = 0; 7 } 8 display() { 9 console.log(this.#counter); 10 } 11}

しかしブラウザ上では正常に動作します.
vscode上で正しく認識させるにはどうすればよいでしょうか.

vscodeのバージョンは1.41.0です.

miyabi_pudding👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

大変失礼しました。

おそらくで、確証はないのですが、
Visual Studio Codeで未対応なのかと思われます。

本質問においての、仕様は、
Private fieldsと呼ばれるもので、
今年の1月に最新となっているため、
各種モダンブラウザでは対応が進んでいても、
各種IDEやテキストエディタ、そのスニペットなどでは未対応である可能性が高いです。
Visual Studio Codeにおいて、プラグインの検索を行いましたが、
対応するものは確認できませんでした。
(ES10対応のスニペットを入れてみましたが、#で定義するとエラーと言われてしまう)
対応するプラグインが出るか、Visual Studio Codeのアップデートを待つしか無いかと思います。

先頭に#がダメかと。
たとえ、ブラウザなりなんなりで動いたとしても、エラーの元になるから止めた方がいいですよ。
VSCodeでも、それ込みでエラー吐いてるのかと。

ちなみに余談ですが、通常のJSにprivate変数は存在しないというか、private変数としての定義はできません

投稿2019/12/19 06:36

編集2019/12/19 07:59
miyabi_takatsuk

総合スコア9555

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

miyabi_takatsuk

2019/12/19 06:43 編集

ちなみに、のところは、クラス内メンバとして定義しても、常に他の言語で言う、publicメンバと同じ動きしかしない、ということです。 (外部から変更不可なメンバの定義ができない、ということ)
miyabi_takatsuk

2019/12/19 06:49

なんと。 回答修正します。 引用使わせてください。
KonjacDesert

2019/12/19 07:08

まだ標準化されていなかったということでしょうか。早とちりでした…。
miyabi_takatsuk

2019/12/19 07:16

お使いのブラウザでは対応済みだったということなのでしょう。 Visual Studio Codeにおいての調査結果も回答に記載しました。
KonjacDesert

2019/12/19 07:37

対応ありがとうございました
miyabi_takatsuk

2019/12/19 08:00

この仕様はマジで標準化してほしいですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問