JavaScript. Ошибка в коде. "Полезные конкуренты"

Доброго времени суток.
Почему такое написание является ошибкой?
До этого на уровне “Поляна чудес” была та же самая ошибка.
Кстати, сами уровни проходятся успешно, не смотря на ошибку.

Скрин

вы должны сказать: if(item and item.type != "poison") { как это было выше.

Надеюсь это поможет! :grin:

2 Likes

Да, это действительно помогло, моё желание уместить всё в одно условие удовлетворено :grinning:.
Но до сих не ясно, почему if(item.type != "poison") является ошибкой.

Потому что необходимо сначала провести проверку на существования предмета item.
Функция hero.findNearestItem() возвращает ближайший к вам предмет в поле зрения вашего героя. Если в поле зрения вашего героя нет предметов, данная функция вернёт NULL , что условно означает , что переменная item будет пуста. А при попытке определить item.type возникает ошибка, так как невозможно определить тип у несуществующего предмета item. Поэтому и нужна проверка на не пустоту в переменной:if item

1 Like

Смысл понят, спасибо.