И, конечно, я хочу сделать это по коду. Это не то, что нет альтернативы этой проблеме, с которой я сталкиваюсь, просто любопытно.
В Javascript. как я могу определить, существует ли поле внутри объекта?
Ответ 1
ОБНОВЛЕНИЕ: используйте метод hasOwnProperty
, как предлагает Гэри Чемберс. Решение ниже будет работать, но считается, что наилучшей практикой является использование hasOwnProperty
.
if ('field' in obj) {
}
Ответ 2
Это будет игнорировать атрибуты, переданные через цепочку прототипов.
if(obj.hasOwnProperty('field'))
{
// Do something
}
Ответ 3
В дополнение к вышесказанному вы можете использовать следующий способ:
if(obj.myProperty !== undefined) {
}
Ответ 4
На самом деле не помню, откуда это взялось, но вот что я использую:
if (!! document.getElementById('id_of_field'))
{
// The field exist even if it empty
}