У меня есть код, похожий на:
document.querySelectorAll('.thing').forEach(el => el.style.color = 'red');
Система подсказок типов в VsCode отмечает el.style
как отсутствующую в Element
. Я могу это исправить с помощью:
/** @type {NodeListOf<HTMLElement>} */
const things = document.querySelectorAll('.thing');
things.forEach(el => el.style.color = 'red');
Кажется неправильным создавать переменную с единственной целью - поддерживать систему типов VsCode счастливой.
Если бы я использовал машинопись, думаю, я мог бы сделать
document.querySelectorAll<HTMLElement>('.thing') // etc...
Есть ли способ сообщить системе типов VsCode, какой тип я ожидаю от универсального метода?