Какой самый простой способ справиться с проблемами типа DOM в TypeScript?
Я нашел два (безобразных) решения: 1. // @ ts-ignore, которое заставит компилятор игнорировать проблему , 2. Используйте инструмент «Быстрое исправление», чтобы добавить информацию о типе в библиотеку типов. Нужно ли загружать более качественные библиотеки типов или есть что-то, что я неправильно понял?
Например, чтобы мой код работал в разных браузерах, мне иногда нужно получить доступ к "нестандартным" свойствам. Здесь ts c жалуется на divObj.document:
let document:Document = divObj.ownerDocument || divObj.document;
Библиотека типов также содержит неверную информацию для некоторых общих свойств DOM. Здесь он думает, что document.body имеет тип HTMLElement вместо HTMLBodyElement. (И даже если я приведу к нужному типу, он все еще не знает, что createTextRange - это функция этого класса - ИСПРАВЛЕНИЕ: это IE специфицированная c функция, поэтому поведение здесь корректное).
let bodyObj = document.body;
let range = bodyObj.createTextRange()