組み込みの配列を使用せずに、JavaScript で配列のようなオブジェクトを作成する方法はありますか? 私は特に次のような行動に関心があります。
var sup = new Array(5);
//sup.length here is 0
sup[0] = 'z3ero';
//sup.length here is 1
sup[1] = 'o3ne';
//sup.length here is 2
sup[4] = 'f3our';
//sup.length here is 5
ここで見ている特定の動作は、メソッドが呼び出されることなく sup.length が変更されることです。この質問から、配列の場合 [] 演算子がオーバーロードされていることがわかりました。これがこの動作の原因です。この動作を再現する純粋な JavaScript の方法はありますか、それとも言語が十分に柔軟でないのでしょうか?
Mozilla docsによると、正規表現によって返される値も、このインデックスで奇妙なことを行います。これはプレーンなJavaScriptで可能ですか?