В tsconfig.json вы можете определить дополнительные библиотеки, которые дают вам типизацию для HTML или DOM «библиотек» (? Я не знаю правильной терминологии).
Я не понимаю, почему dom и dom.iterable разделены. Были ли они определены в разных модулях/версиях ecma? Могу ли я использовать их безопасно?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я подозреваю, что итерации (итерации и итераторы) не были добавлены в JavaScript до ES2015, задолго до того, как TypeScript утвердился. Когда был выпущен ES2015, движки JavaScript во многих браузерах не поддерживали итерацию (пока)¹, и, конечно же, в то время Internet Explorer был еще... вещью... которая никогда не получит новых функций. Таким образом, некоторые проекты должны были ориентироваться на среды, в которых не было итерации, поэтому библиотеки были отдельными.
Даже здесь, в 2022 году, IE выживает в корпоративных и государственных установках (хотя, к счастью, это меняется в конце концов), и некоторым людям приходится ориентировать свои приложения и страницы на эти среды, поэтому они не захотят использовать dom.iterable.
¹ ES2015 была последней версией спецификации, которая включала важные функции, которые еще не были реализованы в полевых условиях. В наши дни процесс, которому следует TC39, как правило, не добавляет функции в спецификацию, пока не появится (в идеале) несколько реализаций этой функции, поставляемых в полевых условиях. Вместо этого предложение остается на этапе 3 до тех пор, пока это не произойдет, прежде чем будет переведено на этап 4 на основе консенсуса на заседании TC39, добавлено в черновик редактора и, таким образом, будет включено в следующую спецификацию моментального снимка в июне следующего года.
@ManuelMeister - это моя теория. Обратите внимание, что даже сегодня некоторым людям приходится ориентироваться на среды, которые не поддерживают итерацию (IE11 в крупных корпоративных/государственных развертываниях).
Хорошо, я правильно понял: поскольку это такая фундаментальная функциональность (без общедоступных браузеров и движков, когда она была представлена), она не была добавлена в библиотеку dom.