#javascript
#javascript
Вопрос:
Что означает «of» в инструкции цикла для …of?
Я могу присвоить ему значение
const of = "text";
тогда как аналогия с «in» из for…in цикл
const in = "text";
невозможно.
Почему «of» не является одним из зарезервированных слов?
Комментарии:
1. Скорее всего, проблемы с обратной совместимостью.
2.
in
иof
ЯВЛЯЮТСЯkeywords
, однакоof
, как вы говорите, могут быть назначены.3. Хороший вопрос. У вас может быть
of
имя переменной, потому чтоof
это не зарезервированное слово в стандарте ES . Почему это не зарезервированное слово, я не знаю..4.
in
может появляться не только в цикле for, но, например, также в таком состоянии, как"a" in {a:1,b:2}
. Имеет лиof
аналогичное другое использование тогда вfor of
цикле?5. Возможно, это не зарезервированное слово, но я бы определенно назвал его ключевым словом в
for
цикле.
Ответ №1:
of
не является зарезервированным словом в соответствии со стандартом ECMAScript.
Это может быть связано с тем, что некоторые браузеры не соответствуют стандартам, а некоторые соответствуют. Если спецификация добавлена of
в качестве ключевого слова, сайты, которые объявили переменную с именем of
, могут полностью прерваться. Спецификация Javascript должна быть обратно совместимой, чтобы веб не ломался.
Процитировать @Bergi в комментариях,
Скорее, наоборот: спецификация написана так, что браузеры, которые остаются обратно совместимыми, могут соответствовать ей. Если бы язык ECMAScript 2020 был разработан сегодня, его определенно сделали бы зарезервированным словом.
Комментарии:
1. Скорее, наоборот: спецификация написана так, что браузеры, которые остаются обратно совместимыми, могут соответствовать ей. Если бы язык ECMAScript 2020 был разработан сегодня, его определенно сделали бы зарезервированным словом.