Столкнулся с понятиями Statement, Expression, ExpressionStatements в книге Douglas Crockford. JavaScript: The Good Parts.
Например, Esprima парсер не выделяет Statement, если я правильно понял, корректно его перевести как "директива, инструкция", но использует ExpressionStatement.
Укажите, пожалуйста, как они соотносятся между собой и как их корректно перевести?
Если обратиться к спецификации, можно найти определение данных понятий:
Statement - общее название всех основных выражений, как можно увидеть, выражения бывают нескольких видов
Statement[Yield, Return]: BlockStatement[?Yield, ?Return] VariableStatement[?Yield] EmptyStatement ExpressionStatement[?Yield] IfStatement[?Yield, ?Return] BreakableStatement[?Yield, ?Return] ContinueStatement[?Yield] BreakStatement[?Yield] [+Return]ReturnStatement[?Yield] WithStatement[?Yield, ?Return] LabelledStatement[?Yield, ?Return] ThrowStatement[?Yield] TryStatement[?Yield, ?Return] DebuggerStatement
Как можно заметить ExpressionStatement просто один из видов Statement, вполне возможно именно поэтому указанный парсер не выделяет Statement отдельно.
В свою очередь ExpressionStatement представляет из себя Expression, перед которым нет {, function, class, let [
ExpressionStatement[Yield]: [lookahead ∉ { {, function, class, let [ }]Expression[In, ?Yield];
И, наконец, Expression - почти любое выражение, которое можно вычислить и получить значение. Определяется оно, как один или несколько AssignmentExpression, разделенных запятыми. Которые в свою очередь могут быть: тернарным оператором, стрелочной функцией, yield выражением, либо выражением с применением операторов присваивания.
С переводом, все несколько сложнее. На сколько я знаю, общеупотребимого перевода нет. В википедии присутствует вариант Инстру́кция или опера́тор. Кроме этого есть обсуждение на соседнем сайте
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Установил новую версию PHPMyAdminВ целом все OK, но в консоли вылезает ошибка JS:
Есть страничка с высотой 4600 пикселей и есть блок кода которое при скролле плавно приближает элементов справа налево или наоборот, но код...
В чатах, когда приходит сообщение, с помощью очевидно JS меняют title - так мы видим, что пришло сообщениеПодскажите, как это сделать?
Есть абстрактная функция, которая на вход принимает параметр и потом что то делает с этим параметромХочу реализовать функцию так, чтобы на вход...