Цитата:
Цитата:
|
Все гениальное - просто!
Выражение - это фраза языка JavaScript, которая может быть вычислена интерпретатором для получения значения. Простейшие выражения - это литералы.
Операторы служат для объединения простых выражений в более сложные (составные). Иначе: оператор - действие над простейшими выражениями (операндами). Инструкции - "полноценные предложения" (команды) языка JavaScript, задающие логику программы (каркас, структуру). Инструкция-выражение - это выражение имеющее побочные эффекты. Например: составные выражения, содержащие операторы '=', '++' , '--', '()' ,'delete'. |
Аксиоматический подход в построении системы понятий, на мой взгляд, лучшее решение (но почему-то пока это слабо используется, наглядный пример - определения википедии, это и понятно, так как ставка там на авторитетные источники, что, в приницпе, не обязывает использовать логику).
Так как, на мой взгляд, сейчас нет кроссязыковой (js далеко не единственный язык программирования) аксиоматически построенной системы исходных понятий, поэтому лично я обычно ориентируюсь на практическую часть (то как всё это применять). В контексте js стандарт языка является определяющим документом, хотя хотелось бы именно кроссязыковую систему определений понятий. Базовым неопределяемым понятием такой системы являются данные (они же информация и т.п.), обычно в тексте программы данные представлены собственно значениями (литералами) и другими конструкциями, из которых эти значения можно получить (переменные и т.п.). Всё остальное - разброс, например, инструкции типа if, switch и т.д. можно считать и сложными операторами, блок кода - составной оператор и т.п. На мой взгляд, инструкция (она же команда) - это вообще одно из исходных понятий, хотя бы потому, что в итоге всё сводится к машинным командам, но разные подходы - разные взгляды. |
Мы не будем брать ко вниманию автотическую подстановку точки с запятой, будем считать, что они везде расставлены, где надо.
Тогда выражение не может являться одновременно инструкцией. Это выражения (без ";" вконце) a=x+y+z 1 i++ a=b?0:1, func(y++)+a>>2 Выражение-инструкция - это выражение с ";" вконце. Выражения-инструкции являются видом инструкций, но не выражений. То есть следующие являются одновременно инструкциями и выражениями-инструкциями, но не выражениями: a=x+y+z; 1; i++; a=b?0:1, func(y++)+a>>2; Цитата:
|
Цитата:
http://es5.javascript.ru/x12.html#x12 |
Вовочка,
здесь правильно показали, чем являются инструкции и выражения. Фактически, любая программа состоит из инструкций (можно использовать синоним - оператор). Некоторые инструкции возвращают результат. Тогда они называются выражениями. |
Вложений: 1
Выражение вычисляет значение по набору операндов, используя операторы, а если требуется вычислить несколько значений, если что-то необходимо сделать многократно, если надо сделать выбор из нескольких альтернатив, если нам нужно считать входную информацию или вывести результат: для создания таких выражений существуют специальные конструкции, именуемые инструкциями.
(Источник: книга "Программирование. Принципы и практика использования C++" Автор — Бьерн Страуструп страница 141 Глава 4, раздел 4: Вычисления, Инструкции) |
Часовой пояс GMT +3, время: 09:08. |