Почему dom и dom.iterable разделены?

В tsconfig.json вы можете определить дополнительные библиотеки, которые дают вам типизацию для HTML или DOM «библиотек» (? Я не знаю правильной терминологии).

Я не понимаю, почему dom и dom.iterable разделены. Были ли они определены в разных модулях/версиях ecma? Могу ли я использовать их безопасно?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
45
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я подозреваю, что итерации (итерации и итераторы) не были добавлены в JavaScript до ES2015, задолго до того, как TypeScript утвердился. Когда был выпущен ES2015, движки JavaScript во многих браузерах не поддерживали итерацию (пока)¹, и, конечно же, в то время Internet Explorer был еще... вещью... которая никогда не получит новых функций. Таким образом, некоторые проекты должны были ориентироваться на среды, в которых не было итерации, поэтому библиотеки были отдельными.

Даже здесь, в 2022 году, IE выживает в корпоративных и государственных установках (хотя, к счастью, это меняется в конце концов), и некоторым людям приходится ориентировать свои приложения и страницы на эти среды, поэтому они не захотят использовать dom.iterable.


¹ ES2015 была последней версией спецификации, которая включала важные функции, которые еще не были реализованы в полевых условиях. В наши дни процесс, которому следует TC39, как правило, не добавляет функции в спецификацию, пока не появится (в идеале) несколько реализаций этой функции, поставляемых в полевых условиях. Вместо этого предложение остается на этапе 3 до тех пор, пока это не произойдет, прежде чем будет переведено на этап 4 на основе консенсуса на заседании TC39, добавлено в черновик редактора и, таким образом, будет включено в следующую спецификацию моментального снимка в июне следующего года.

Хорошо, я правильно понял: поскольку это такая фундаментальная функциональность (без общедоступных браузеров и движков, когда она была представлена), она не была добавлена ​​в библиотеку dom.

Manuel Meister 17.03.2022 11:35

@ManuelMeister - это моя теория. Обратите внимание, что даже сегодня некоторым людям приходится ориентироваться на среды, которые не поддерживают итерацию (IE11 в крупных корпоративных/государственных развертываниях).

T.J. Crowder 17.03.2022 13:09

Другие вопросы по теме