Таким образом, вам нужно «принудительно» ввести 1-й параметр в виде массива или хотя бы проверить его:
function myTest(arrayParam, arrayIndex) {
if (typeof arrayParam != typeof[]) {
console.log('wrong parameter ' + arrayParam + ' must be an Array');
return;
}
return arrayParam[arrayIndex]; /** eventualy you've to check index is in array range so check the length of the array too*/
}
В JavaScript нет типизированной переменной, поэтому необходимо добавить каждую проверку, чтобы использовать типизированное значение.Тип возвращаемого значения типа wo также может быть object.
edit: еще проще и гарантирует, что все имеют «правильный» тип:
myTest(arr, idx) {
if (arr[idx]) {
return arr[idx];
} //-- will simply return nothing if parameter not fit or idx out of array size
}
Проще, но менее точно, потому что вы можете иметьэто и все еще имеет возвращаемое значение (ничего, чтобы быть уверенным, что 1-й параметр является массивом, а 2-й параметр - целочисленным значением как индекс):
myTest({test:'some value'}, 'test'); //-- who will return 'some value'
Во 2-м примере я хочу подчеркнуть, что другой ответ не может бытьошибка и не будет использовать массив либо.