[解決済み] TypeScriptのプライベートメンバーにはアクセスできないはずなのに、なぜアクセスできるのですか?
2022-10-13 19:38:21
質問
TypeScriptのプライベートメンバの実装を見ていて、少し混乱することがあります。Intellisenseではプライベートメンバにアクセスできませんが、純粋なJavaScriptではすべてそこにあるのです。このことから、TSはプライベートメンバを正しく実装していないのではと思います。 何か考えはありますか?
class Test{
private member: any = "private member";
}
alert(new Test().member);
どのように解決するのですか?
型チェックと同様、メンバのプライバシーはコンパイラ内でのみ実施されます。
プライベートプロパティは通常のプロパティとして実装され、クラス外のコードはアクセスすることができません。
クラス内部で何かを本当にプライベートなものにするには、クラスのメンバーであってはならず、オブジェクトを作成するコード内の関数スコープ内で作成されるローカル変数になります。つまり、クラスのメンバのようにアクセスすることはできません。
this
キーワードを使用してアクセスすることはできません。
関連
-
[解決済み】Typescriptで、! (エクスクラメーションマーク/バン)演算子でメンバを再参照するのは?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] Typescript オブジェクトのインデックス付きメンバの型を強制する?
-
[解決済み] コンストラクトシグネチャを持つインターフェースはどのように機能するのですか?
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] JSXとLoadshを使用して、ある要素をn回繰り返す方法
-
[解決済み] Chromeの拡張機能開発にWebStormを使用するにはどうすればよいですか?
-
[解決済み] AJAX Mailchimp サインアップフォームの統合
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] javascriptで文字列から関数を作成する方法はありますか?
-
[解決済み] JavaScript で `throw` の後に `return` をする必要がありますか?
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる