Есть ли способ создать подобный массиву объект в 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 значения, возвращаемые регулярным выражением, также делают фанки с этим индексом. Возможно ли это с помощью простого javascript?