JavaScript でのプライベート メソッドの実装
JavaScript はクラス内のプライベート メソッドの概念をネイティブにサポートしていませんが、これを実現できる回避策があります。同様の効果。クラスのプロトタイプ内でプライベート メソッドを定義しないようにすることで、クラスのインスタンス内でのみアクセスできるメソッドを作成できます。
次のコード スニペットを考えてみましょう。
<code class="javascript">function Restaurant() { var myPrivateVar; // Private method var private_stuff = function() { myPrivateVar = "I can set this here!"; } // Public methods this.use_restroom = function() { private_stuff(); } this.buy_food = function() { private_stuff(); } }</code>
この例では、 private_stuff 関数は、Restaurant 関数自体内のプライベート メソッドとして定義されます。これは、Restaurant のインスタンス内でのみアクセスでき、外部から呼び出すことはできないことを意味します。
パブリック メソッド use_restroom と buy_food はどちらもプライベート メソッド private_stuff にアクセスでき、実装の詳細をユーザーに公開せずに特定のアクションを実行できます。
<code class="javascript">// Create a new instance of Restaurant var restaurant = new Restaurant(); // Call public methods restaurant.use_restroom(); restaurant.buy_food(); // Attempting to call private method externally will fail restaurant.private_stuff(); // Uncaught ReferenceError: private_stuff is not defined</code>
この回避策を採用すると、内部メソッドが対話できるようにしながら、クラスの外部ユーザーがアクセスできないプライベート メソッドを効果的に作成できます。ただし、アクセシビリティが制限されているにもかかわらず、プライベート メソッドが関数スコープ内にまだ存在しているため、このメソッドは完全なカプセル化を提供しないことに注意することが重要です。
以上がJavaScript でプライベート メソッドを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。