2017-05-04 3 views
1

これは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')内では威圧的かもしれません。それが機能するなら、なぜそれを使わないのですか?

+0

両方の行が暗黙的に数値を文字列に変換します。 'typeof Object.keys(obj)[0] ===" string "' – JJJ

+0

あなたの質問は何ですか? –

+0

これはobj ["2.15"]を使ってアクセスできます。すべてのブラウザでサポートされているはずです – Vivick

答えて

1

The specificationは言う:

PropertyName : 
    IdentifierName 
    StringLiteral 
    NumericLiteral 

NumericLiteralfloats are fineすることを示しています。

標準です。あなたがしたい場合はそれを使用してください。

関連する問題