Объясните, пожалуйста, простым языком использование оператора in. Насколько я знаю он проверяет наличие свойства указанного объекта. Но на примере этого цикла, где идет перебор элементов массива, не пойму почему применяется такой способ перебора, как правильно его обрабатывает компилятор (или ...). Часть кода:

Код AS3:
var eyeArray:Array = [eye1, eye2, eye3, eye4, eye5, eye6];
for(var eye:String in eyeArray){
var mousdiff_a:Number = mouseY - eyeArray[eye].y;
//и т.д.
}
Т.е. как я понимаю, здесь eye:String принимает значения 0,1,2,3,4,5, но почему?