Прикладной код

Предупреждение «Внутри блока for-in должна быть проверка для фильтрации свойств прототипа»

Предупреждение «Внутри блока for-in должна быть проверка для фильтрации свойств прототипа»

При написании или редактировании кода появляется предупреждение «Внутри блока for-in должна быть проверка для фильтрации свойств прототипа».

Причина

В коде не включена проверка на принадлежность свойства объекта к самому объекту, а не его предку.

Решение

Включите в цикл for-in фильтрацию для свойств прототипа.

Пример

Код с предупреждением.

var СписокИмен = [Иван, Петр];

function ИмяФункции(Аргумент) {
 //...
}
for (var Аргумент in СписокИмен) {
 ИмяФункции(Аргумент);
}

Код без предупреждения.

var СписокИмен = [Иван, Петр];

function ИмяФункции(Аргумент) {
 //...
}
for (var АргументinСписокИмен) {
 if (Object.prototype.hasOwnProperty.call(СписокИмен, Аргумент)) {
  ИмяФункции(Аргумент);
 }
}