ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript Proxy() オブジェクトの使用を理解する (コード例)

JavaScript Proxy() オブジェクトの使用を理解する (コード例)

藏色散人
藏色散人オリジナル
2019-03-27 15:19:512605ブラウズ

JavaScript の Proxy オブジェクトは、基本的な操作 (プロパティの検索、代入、列挙、関数呼び出しなど) のカスタム動作を定義するために使用されます。

JavaScript Proxy() オブジェクトの使用を理解する (コード例)

構文:

var p = new Proxy(target, handler);

パラメーター: プロキシ オブジェクトは、上記で説明したように、次の 2 つのパラメーターを受け入れます:

target: プロキシを使用してラップされるターゲット オブジェクト (関数、クラス、または別のプロキシなど、任意のタイプのオブジェクトにすることができます)。

handler: 操作が実行されるときのエージェントの動作を定義する関数をプロパティを持つオブジェクト。

例:

<script> 
const Person = { 
    Name: &#39;John Nash&#39;, 
    Age: 25 
}; 
  
const handler = { 
    // target表示Person,而prop表示代理属性。
    get: function(target, prop) { 
        if (prop === &#39;FirstName&#39;) { 
            return target.Name.split(&#39; &#39;)[0]; 
        } 
        if (prop === &#39;LastName&#39;) { 
            return target.Name.split(&#39; &#39;).pop(); 
        } 
        else { 
            return Reflect.get(target,prop); 
        } 
    } 
}; 
  
const proxy1 = new Proxy(Person, handler); 
  
document.write(proxy1 + "<br>"); 
  
// 虽然没有像FirstName和LastName那样的属性,但是我们仍然获取到它们,就好像它们是属性而不是函数一样。
document.write(proxy1.FirstName + "<br>"); 
document.write(proxy1.LastName  + "<br>");      
</script>

出力:

[object Object]
John
Nash

注: NodeJs がインストールされている場合、上記のコードはターミナルで直接実行できます。そうでない場合は、ターミナルで実行できます。 HTML ファイルで、上記のコードを script タグに貼り付け、Web ブラウザのコンソールで出力を確認します。

関連する推奨事項: 「JavaScript チュートリアル

以上がJavaScript Proxy() オブジェクトの使用を理解する (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。