JavaScript でプライベート変数を作成するにはどうすればよいですか?

WBOY
リリース: 2023-08-23 21:37:02
転載
905 人が閲覧しました

如何在 JavaScript 中创建私有变量?

クロージャ、シンボル、WeakMap、クラスのプライベート フィールド、およびプロキシは、JavaScript でプライベート変数を作成するために使用できるテクニックの一部です。各テクノロジーには長所と短所があるため、要件に最も適したものを選択することが重要です。

他の多くのプログラミング言語と同様、JavaScript にもプライベート変数とパブリック変数の概念があります。プライベート変数は同じスコープに属するコードからのみアクセスおよび変更できますが、パブリック変数はどのコードからもアクセスおよび変更できます。 JavaScript でプライベート変数を作成するためのさまざまな手法を見てみましょう。

クロージャを使用する

クロージャー メソッドは、JavaScript でプライベート変数を作成する方法です。親関数が完了して戻った後でも、親関数のスコープ内で定義された変数にアクセスできる場合、その関数はクロージャです。関数内で変数を定義すると、変数がプライベートになり、その関数内のコードからのみアクセスできるようになります。 ######例###### ### リーリー

上の例の関数

createPrivateVariable

は、メソッド

getValue

および

setValue を使用してオブジェクトを返します。これらのメソッドは、親関数で宣言された privateVariable にアクセスできるため、その値を取得または変更できます。関数外から privateVariable にアクセスしようとすると参照エラーが発生します。 シンボリック データ型を使用する シンボリック データ型の使用は、プライベート変数を作成する 2 番目の方法です。シンボルは個別の非文字列識別子であるため、プロパティ キーとして使用できます。これらは一意であるため、外部プログラムが簡単にアクセスしたり変更したりすることはできません。 リーリー

上記のコードは次のように使用できます -

リーリー

この例では、privateVariable という名前のシンボルが定義され、オブジェクトのプロパティ キーとして使用されています。これはシンボルであるため、ドット表記を使用してプロパティの値を取得することはできませんが、角括弧表記を使用してオブジェクトを通じてアクセスできます。

WeakMapを使用する

WeakMaps は、プライベート変数を構築する 3 番目の方法として使用できます。 JavaScript エンジンは WeakMap 内のキーと値のペアを弱く参照するだけで、オブジェクトをキーにリンクできます。これにより、キーへの参照が他にない場合、ガベージ コレクターがキーと値のペアを破棄するため、プライベート変数への参照を誤って維持することが困難になります。 ######例###### ### リーリー

この例では、オブジェクトのプライベート変数を保存するために、privateVariables という名前の WeakMap を作成します。 get() メソッドは、set() メソッドを使用してプライベート変数をオブジェクトにリンクした後、プライベート変数を取得するために使用されます。ただし、プライベート変数には、オブジェクトへの参照がある場合にのみアクセスできるため、オブジェクトによって形成されるスコープの外部からアクセスすることはできません。

オブジェクト指向クラス構文を使用する

オブジェクト指向クラス構文の使用は、プライベート変数の作成にも使用できます。 JavaScript の class キーワードを使用すると、オブジェクトのテンプレートとして機能するクラスを定義できます。クラスは変数を定義し、変数名の前に # 記号を追加してプライベート変数を生成できます。これは実験的な機能であり、プライベート変数を表します。この機能はまだ広くサポートされていないため、実稼働コードで使用することはお勧めできません。 ######例###### ### リーリー

この例では、

MyClass

という名前のクラスが、プライベート変数

#privateVariable、getValue、および setValue

を使用して構築されます。クラス内のメソッドのみがアクセスできるプライベート変数にクラス外のメソッドがアクセスしようとすると、参照エラーが発生します。

プロキシ オブジェクトを使用する

最後に、Proxy オブジェクトの使用は、プライベート変数を構築するためのもう 1 つのオプションです。他のオブジェクトの動作を傍受したり変更したりするために使用できるオブジェクトは、プロキシと呼ばれます。オブジェクトをプロキシ内にカプセル化することで、プロキシを使用するコードからのみアクセスできるプライベート変数を作成できます。 ######例###### ### リーリー

この例では、ゲッター メソッドとセッター メソッドを備えたハンドラーを備えたプロキシが構築されています。これらのメソッドは、プロキシの外部で定義されたプライベート変数の値を取得または変更し、それにアクセスできます。ただし、参照エラーにより、プロキシの外部からプライベート変数にアクセスできなくなります。

以上がJavaScript でプライベート変数を作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!