похоже, это обычная идиома javascript:
function foo (array, index) {
if (typeof array[index] == 'undefined')
alert ('out of bounds baby');
}
в отличие от более распространенных (на других языках) и концептуально более простых:
function foo (array, index) {
if (index >= array.length)
alert ('boo');
}
Я понимаю, что первый случай также будет работать для массивов, которые имеют "пробелы" в них, но является ли это достаточно распространенным случаем, чтобы оправдать идиому?
Пример кода, который вызвал этот вопрос, можно увидеть здесь . В этом случае при использовании переменной "аргумент" внутри функции не разумно ли считать, что это будет непрерывный массив?