Поскольку ваш вопрос, кажется, что document.getElementsByName
возвращается, когда он не найден, это будет пустой NodeList , с длиной 0 (поэтому не является неопределенным))
Поэтому проще всего было бы то, что Дандавис предложил в своем комментарии просто вернуть первый элемент списка узлов.Если оно пустое, оно будет неопределенным, если нет, то это будет первый элемент (хотя я не уверен, что оно всегда соответствует вашему случаю)
, поэтому ваша функция также может быть
function getFieldAt(fieldName, index = 0) {
return document.getElementsByName(fieldName)[index];
}
если вы не используете необязательные параметры, вы можете изменить его на
function getFieldAt(fieldName, index) {
return document.getElementsByName(fieldName)[index || 0];
}
Ваше недопонимание относительно devtools подробно объяснено в комментариях, а также в другом ответе:)