Цитата:
|
Почему для доступа к элементам массива по индексу используется величина типа String (нельзя определить i как число)
|
Потому что "Array extends Object" и индекс - это просто ключ (key) к объекту.

Код AS3:
var obj:Object = {};
obj['0'] = 'hi';
var obj:Object = {};
obj[1] = 'hello';
var arr:Array = [];
arr['0'] = 'hi';
var arr:Array = [];
arr[1] = 'hello';
Эти записи идентичны.