Массив вне границ: сравнение с undefined или проверка длины?

, похоже, это обычная идиома 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');
}

Я понимаю, что первая case также будет работать для массивов, в которых есть «пробелы», но является ли это достаточно распространенным случаем, чтобы использовать идиому?

Пример кода, который вызвал этот вопрос, можно увидеть здесь . В этом случае , при использовании переменной «аргумент» внутри функции не разумно ли предположить, что это будет непрерывный массив?

23
задан Community 23 May 2017 в 11:54
поделиться