これはthis questionに特有のものです。これは数値の整数全体と同じように説明しています。javascriptオブジェクトのプロパティ名(10進表記)
「プロパティの名前の数値または文字列リテラル」に関しては、私はChromeコンソールでこれを試しました var obj = { 2.15: 'foo' } console.log(obj[2.15])
これは動作します。私はそれがすべてのブラウザ、特に古いもので標準であるとは思わないでしょう。しかし、ユーザが提供するデフォルトの設定の一部としてのこのような重要な表記法は有用かもしれません。私はMap
を使っていると思いますが、標準('Any value (both objects and primitive values) may be used as either a key or a value')内では威圧的かもしれません。それが機能するなら、なぜそれを使わないのですか?
両方の行が暗黙的に数値を文字列に変換します。 'typeof Object.keys(obj)[0] ===" string "' – JJJ
あなたの質問は何ですか? –
これはobj ["2.15"]を使ってアクセスできます。すべてのブラウザでサポートされているはずです – Vivick