連想配列として動作するJavascriptオブジェクトを作成する必要がありますが、プロパティを取得および設定する前に呼び出される関数がいくつかあります。
たとえば、タスクは次のようになります。次のように、キーの 2 乗値を含むオブジェクトを作成する必要があります。
obj.two should be equal to 4,
obj.four should be equal to 16,
obj['twenty one'] should be equal to 441.
これは一例です。実際には、設定操作もオーバーライドする必要があります。取得操作と設定操作はデータベースに送られ、必ずしも文字列をキーとして使用するのではなく、DB クエリを作成する任意のタイプのオブジェクトを使用します。
a) サードパーティのライブラリをできるだけ少なくし、b) できるだけ多くのプラットフォームで動作させるにはどうすればよいですか?
私は JS を初めて使用します。JS には連想配列がなく、任意のプロパティを使用してオンザフライでオブジェクトを定義する機能に依存していることがわかりました。私はググって、その場で新しいゲッター/セッターを定義するルックアップゲッター(およびセッター)を使用またはオーバーライドするというアイデアを持っていましたが、インタープリターが新しいキーに遭遇するたびにこのメソッドを使用するかどうかわかりませんでした。とにかく、文字列や数字以外はキーとして使用できないようです。
Java では、java.util.Map を実装するだけです。
Javascriptで同じことをするにはどうすればよいですか?
編集
[[Get]]
ここで言及されているオーバーライドと[[Put]]
メソッドを管理すれば、必要なものが得られると思いますhttp://interglacial.com/javascript_spec/a-8.html#a-8.6.2.1