'hasOwnProperty' is not a function. Что не так?

103
31 декабря 2020, 12:40

Пытаюсь выявить наличие определенного параметра в url:

// https://localhost/?_escaped_fragment_=&dima=fil
query = url.parse(options.url, true).query;
if (query && query.hasOwnProperty('_escaped_fragment_')) {
  return true;
}

Но возникает ошибка: hasOwnProperty is not a function. Что не так?

Если вывести в консоль, то вот что:

console.log(query.dima); // fil
console.log(query); //  [Object: null prototype] { _escaped_fragment_: '', dima: 'fil' }
Answer 1

Метод .hasOwnProperty определен в Object.prototype.

Если же проверить прототип объекта query можно заметить, что его значение null. Именно поэтому и происходит ошибка.

Для решения можно либо воспользоваться скобочной нотацией и проверять на undefined/null

либо применять .hasOwnProperty непосредственно из Object.prototype

Object.prototype.hasOwnProperty.call(query, propName)
READ ALSO
Ошибка в Google App Script при отправке данных формы в Google Sheets

Ошибка в Google App Script при отправке данных формы в Google Sheets

Цель - отправить данные формы в Google Sheets для записи в соответствующие поляЯ использовал эту статью, но мой скрипт выдает ошибку:

162
Выбрать первые 3 созданные экземпляра класса JavaScript

Выбрать первые 3 созданные экземпляра класса JavaScript

Всем привет! Возникла задача: Существует n кол-во дивов с одним классом и надо выбрать именно первые 3 div с помощью JS или JQНикак не могу найти...

117
Как уменьшить окно элемента `select`?

Как уменьшить окно элемента `select`?

Сейчас работаю с формой, где пользователь должен заполнить поля и выбрать тип из элемента selectНо при нажатие на select, отоброжается слишком...

129
Активность пользователя JS, JQuery

Активность пользователя JS, JQuery

Возможно ли на JS определить активность пользователя?

128