Locker Service で Proxy オブジェクトを使用する方法
Locker Service は、標準 JavaScript Proxy オブジェクトを使用して、基盤となる JavaScript オブジェクトへのコンポーネントのアクセスを絞り込みます。Proxy オブジェクトは、同じ名前空間のコンポーネントによって作成された DOM 要素のみがコンポーネントに表示されるようにします。
Proxy オブジェクトは、未加工の JavaScript オブジェクトと同じ方法で操作できますが、ブラウザのコンソールに Proxy として表示されます。これは、ブラウザのデバッガを使用して調査を開始する場合に、Locker Service による Proxy の使用状況を理解するのに役立ちます。
コンポーネントで JavaScript オブジェクトを作成すると、Locker Service から未加工の JavaScript オブジェクトが返されます。Locker Service でオブジェクトを絞り込むと、Proxy オブジェクトが返されます。次に、Locker Service でオブジェクトを絞り込み、Proxy オブジェクトを返すシナリオを示します。
- オブジェクトを異なる名前空間のコンポーネントに渡す。
- API バージョン 40.0 未満のコンポーネントのオブジェクトを、API バージョン 40.0 以上のコンポーネントのメソッドに渡す。
- cmp.get() をコールして、ネイティブ JavaScript オブジェクトまたは配列の値で設定した属性値を取得する。オブジェクトまたは配列が初めて作成されたときは絞り込まれません。
次のオブジェクトにアクセスすると、Locker Service から Proxy オブジェクトが返されます。
- HTMLCollection インターフェースを実装するオブジェクト
- HTML 要素を表す SecureElement オブジェクト
標準 JavaScript Proxy オブジェクトについての詳細は、「Mozilla Developer Network (Mozilla 開発者ネットワーク)」を参照してください。