JavaScript でプライベート メソッドを実装するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-03 14:36:03
オリジナル
903 人が閲覧しました

How Can You Implement Private Methods in JavaScript?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート