bluetoft がこの回答で述べているように、Javascript では代わりにプレーン オブジェクトを使用できます。ただし、それらの間にはいくつかの違いがあることに注意してください。
まず、Dictionaryのキーは任意の型にすることができます。
var dict = new ActiveXObject('Scripting.Dictionary');
dict(5) = 'Athens';
console.log(dict('5')); //prints undefined
一方、Javascript オブジェクトのキーに使用される値は、最初に文字列に変換されます。
var obj = {};
obj[5] = 'Athens';
console.log(obj['5']); // prints 'Athens'
MDNから:
JavaScript のオブジェクトはキー タイプとして String 型しか持てないため、角括弧表記のすべてのキーは String 型に変換されることに注意してください。たとえば、上記のコードでは、キー obj が myObj に追加されると、JavaScript は obj.toString() メソッドを呼び出し、この結果の文字列を新しいキーとして使用します。
次に、 CompareModeプロパティを使用して、大文字と小文字が異なるキーを同じキーとして扱うようにDictionaryを設定できます。
var dict = new ActiveXObject('Scripting.Dictionary');
dict.CompareMode = 1;
dict('a') = 'Athens';
console.log(dict('A')); // prints 'Athens'
を介した Javascript キー アクセス[]
はこれをサポートしていません。大文字と小文字が異なるキーを同じものとして扱いたい場合は、読み取りまたは書き込みの前に潜在的なキーを小文字または大文字に変換する必要があります。
特定のシナリオでは、キーは大文字と小文字の区別がない数値文字列 (1) (2) であるため、これらの違いはどちらも重要ではありません。