JavaScriptのProxyを使うときに気をつけること
BRANK

本稿では、Proxyを使う際はオブジェクトの原理をよく理解した上で、PreventExtensions時の挙動とPrivate Identifierに気をつけましょうという話をします。そもそもProxyは何なのかProxy は Reflect と対をなすプリミティブAPIで、オブジェクトの低レベルプロトコルの操作を提供します。Proxyは、オブジェクトの低レベルプロトコルをユーザーが実装できるようにします。Reflectは、オブジェクトの低レベルプロトコルをユーザーが利用できるようにします。そのため、Proxyを理解するにはまずオブジェクトの低レベルプロトコルを理解する必要があります。オブジェクトとは何か{ foo: "bar" } や [1, 2, 3], () => 42 がオブジェクトであることはすでに知っていると思いますが、ここでは定義に戻って確認をします。オブジェクトとは、JavaScriptの言語レベルの値のうち、プリミティブ以外の全てです。オブジェクトは以下の特徴を持ちます。参照の同一性によって区別される。内部に可変な状態を持つことができる。特に重要なのは、オブジェクトは Object のインスタンスであるとは限らないという点です。代表的な反例として以下があります。Object.create(null) によって作られた…

zenn.dev
Related Topics: JavaScript