ディクショナリとセットを GJS で実装したいのですが、 で使用できる比較演算子は だけなObject
ので===
、標準の JavaScript で実装すると s がキーとして使用されると遅くなりObject
ます。GJS は、Map と Set がまだない公式のスタンドアロン SpiderMonkey リリース (1.8.5) を使用します。オブジェクト ID を比較できるようにする API を導入するための最良の方法は何ですか?
- オブジェクト ID の取得と比較を可能にする GJS 用の C モジュールを作成できます。
- たぶん、
JSObject
sへのポインタを使用できます。- SpiderMonkey が動かないことは保証されてい
JSObject
ますか? - C 標準では、同じブロックにないポインターを比較することはできません。
double
また、新しい 64 ビット コンピュータには、の 53 ビット整数に収まらない 64 ビット アドレスがあります。
- SpiderMonkey が動かないことは保証されてい
- オブジェクトと数字を手動で関連付けることができました。
JSObject
JavaScript から見えるプロパティを追加せずに、任意のデータを任意の既存のデータに関連付けるにはどうすればよいですか?
- たぶん、
- それとも、C モジュールを書かずに純粋な JavaScript で実行できるようにする SpiderMonkey 固有の拡張機能があるのでしょうか?