Демистификация «атрибутов свойства» не существует для типа «EventTarget». Ошибка.

JavaScript — универсальный язык программирования, широко используемый в веб-разработке. При работе с событиями JavaScript вы можете столкнуться с сообщением об ошибке «Атрибуты свойства не существуют для типа EventTarget». В этой статье мы рассмотрим причины этой ошибки и предоставим несколько способов эффективного ее устранения. Мы также предоставим примеры кода для демонстрации каждого метода.

Обнаружение ошибки:
Сообщение об ошибке «Атрибуты свойства не существуют для типа EventTarget» появляется при попытке получить доступ к свойству «атрибуты» объекта EventTarget, но это свойство не существует в этот объект. Интерфейс EventTarget — это базовый класс, реализованный различными элементами DOM, такими как элементы HTML, элементы XML и документы. Он представляет собой объект, которому может быть отправлено событие.

Методы устранения ошибки:

Метод 1: утверждение типа
Один из способов обработки ошибки — использование утверждения типа для информирования компилятора о конкретном типе объекта EventTarget. Вот пример:

const target = event.target as HTMLElement;
const attribute = target.attributes.getNamedItem('attributeName');

Метод 2: проверка типа экземпляра
Вы также можете использовать проверку типа экземпляра, чтобы убедиться, что целевой объект поддерживает свойство «атрибуты», прежде чем получить к нему доступ. Вот пример:

if (event.target instanceof HTMLElement) {
  const attribute = event.target.attributes.getNamedItem('attributeName');
  // Rest of the code
}

Метод 3: защитное предложение
Использование защитного предложения — это еще один подход к обработке ошибки. Это позволяет вам досрочно выйти из функции или блока кода, если свойство «атрибуты» недоступно. Вот пример:

function handleEvent(event) {
  if (!(event.target instanceof HTMLElement)) return;

  const attribute = event.target.attributes.getNamedItem('attributeName');
  // Rest of the code
}

Метод 4: необязательная цепочка
Если вы используете ECMAScript 2020 или более позднюю версию, вы можете использовать необязательную цепочку для корректной обработки ошибки. Необязательная цепочка позволяет получать доступ к вложенным свойствам, не вызывая ошибки, если какое-либо промежуточное свойство имеет значение NULL или неопределенное. Вот пример:

const attribute = event.target?.attributes?.getNamedItem('attributeName');

Ошибку «Атрибуты свойства не существуют для типа EventTarget» можно устранить с помощью различных методов, таких как утверждение типа, проверка типа экземпляра, защитное предложение и необязательное связывание. Подходящий метод зависит от вашего конкретного сценария и стиля кодирования. Применяя эти методы, вы сможете эффективно обработать ошибку и обеспечить плавное выполнение кода JavaScript.

Не забывайте всегда тестировать свой код и устранять потенциальные ошибки, чтобы создавать надежные и безошибочные приложения.