問題タブ [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.
javascript - Object.defineProperty の代わりに Reflect.defineProperty を使用する方が良いですか?
React 構成で eslint を使用すると、使用時にエラーObject.defineProperty
が発生します。エラーは言う:
の使用は避け
Object.defineProperty
、代わりに を使用してくださいReflect.defineProperty
。(優先反射)
prefer-reflectの eslintドキュメントでは、非推奨であると述べています。その理由は次のとおりです。
このルールの本来の意図は、
Reflect
メソッドが実際にObject
はルールが示唆する対応するものを置き換えることを意図したものではなく、プロキシで使用される低レベルのプリミティブとして存在し、デフォルトの動作を複製することを理解するようになったため、見当違いのように見えます。さまざまな既存の機能。
次に、私の質問は次のとおりです。Reflect.defineProperty
代わりに使用する利点はありObject.defineProperty
ますか?
javascript - JavaScriptでプロキシに(再帰?)レベル認識を追加する
オブジェクトゲッターをプロキシでオーバーライドすることにより、ゲッター経由でアクセスされているノードを出力しようとしています。この大きなオブジェクトのどの部分がアプリケーションで使用されていないかを基本的にテストしようとしています。私が抱えている問題は、ゲッターの親が何であるかを特定する方法を追加できることです。これが私がこれまでに持っているものです
これは prop キーを表示するのに非常に役立ちますが、これは最初のレベルのキーにすぎません。この単一の関数が提供されたオブジェクトのすべてのプロキシをオーバーライドするため、このプロキシでこれにアプローチする方法がわかりません。オブジェクトの親/子を渡す方法はありますか? おそらく私もこれに間違って取り組んでいます-そのため、入力を探しています。ありがとう!
javascript - レルムオブジェクトプロキシリストからプレーンなJavaScript配列を取得するには?
シナリオ:
たとえば、realm-js でスキーマを次のように定義します。
Realmのオブジェクトを作成し、Business
Realm に保存しました。次に、このオブジェクトを別の場所で照会しました。さらに処理するために、このフィールド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
ますか?