問題タブ [es6-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1764 参照

javascript - Object.defineProperty の代わりに Reflect.defineProperty を使用する方が良いですか?

React 構成で eslint を使用すると、使用時にエラーObject.definePropertyが発生します。エラーは言う:

の使用は避けObject.defineProperty、代わりに を使用してくださいReflect.defineProperty。(優先反射)

prefer-reflectの eslintドキュメントでは、非推奨であると述べています。その理由は次のとおりです。

このルールの本来の意図は、Reflectメソッドが実際にObjectはルールが示唆する対応するものを置き換えることを意図したものではなく、プロキシで使用される低レベルのプリミティブとして存在し、デフォルトの動作を複製することを理解するようになったため、見当違いのように見えます。さまざまな既存の機能。

次に、私の質問は次のとおりです。Reflect.defineProperty代わりに使用する利点はありObject.definePropertyますか?

0 投票する
1 に答える
561 参照

javascript - JavaScriptでプロキシに(再帰?)レベル認識を追加する

オブジェクトゲッターをプロキシでオーバーライドすることにより、ゲッター経由でアクセスされているノードを出力しようとしています。この大きなオブジェクトのどの部分がアプリケーションで使用されていないかを基本的にテストしようとしています。私が抱えている問題は、ゲッターの親が何であるかを特定する方法を追加できることです。これが私がこれまでに持っているものです

これは prop キーを表示するのに非常に役立ちますが、これは最初のレベルのキーにすぎません。この単一の関数が提供されたオブジェクトのすべてのプロキシをオーバーライドするため、このプロキシでこれにアプローチする方法がわかりません。オブジェクトの親/子を渡す方法はありますか? おそらく私もこれに間違って取り組んでいます-そのため、入力を探しています。ありがとう!

0 投票する
0 に答える
2481 参照

javascript - レルムオブジェクトプロキシリストからプレーンなJavaScript配列を取得するには?

シナリオ:

たとえば、realm-js でスキーマを次のように定義します。

Realmのオブジェクトを作成し、BusinessRealm に保存しました。次に、このオブジェクトを別の場所で照会しました。さらに処理するために、このフィールドnumber_of_stores_in_citiesを JavaScript 配列にコピーします。js_number_of_store_in_cities

私が期待すること: Realm は、ターゲット リスト全体を取得するためのハンドラーを定義していnumber_of_stores_in_cities.all()ますnumber_of_stores_in_cities.getList()Proxy

私が持っているもの:私が期待するものに対してこれらのハンドラーを定義していないようです。そして、それらのゲッターは配列のインデックスに基づいて定義されます。したがって、このプロキシnumber_of_stores_in_citiesは JavaScript 配列とまったく同じように機能します。から にエントリを 1 つずつコピーしようとしnumber_of_stores_in_citiesましたjs_number_of_stores_in_cities。私も試しconst js_number_of_stores_in_cities = Array.prototype.slice.call(number_of_stores_in_cities)ました。ただし、どちらの方法も予想外に遅く、2500 の長さのリストをコピーするのに約 10 秒かかりました。

必要なもの:これらの従来の JavaScript 配列メソッドを使用する代わりに、プレーンな JavaScript 配列をProxyすばやく取得する方法はありますか? これにハンドラーを提供する必要がありProxyますか?

ここに画像の説明を入力