Синтаксис JavaScript Справочник JavaScript JSON Коды клавиш События

Выражения и инструкции

Инструкции

Инструкция – это команда компьютеру для выполнения какого-то конкретного действия. Например:

// Создать переменную x и присвоить ей число 1
let x = 1;

// Вывести значение переменной x на экран
alert(x);

Любая программа представляет собой последовательность инструкций. Инструкции обычно состоят из слов, чисел и операторов, которые в совокупности выполняют конкретную задачу. Большинство инструкций должны заканчиваться точкой с запятой ;.

Точка с запятой

Точка с запятой применяется для отделения инструкций друг от друга. В большинстве случаев можно опускать точку с запятой между двумя инструкциями, если они находятся на разных строках:

первая инструкция
вторая инструкция

В таких ситуациях точки с запятой автоматически вставляются интерпретатором JavaScript с помощью встроенного механизма, который называется автоматическая вставка точки с запятой.

Точку с запятой также можно опускать в конце программного кода или перед закрывающей фигурной скобкой }.

Если инструкции находятся на одной строке, их надо обязательно разделять с помощью точки с запятой, тем самым сообщая интерпретатору, где заканчивается одна инструкция и начинается другая:

первая инструкция; вторая инструкция;

Интерпретатор JavaScript не всегда трактует перенос строки как точку с запятой. Например:

alert(2 +
2);

Интерпретатор JavaScript трактует перенос строки как точку с запятой, если следующий непробельный символ не может быть интерпретирован как продолжение текущей инструкции. В данном случае следующий непробельный символ после конца строки может быть интерпретирован как продолжение текущей инструкции, поэтому интерпретатор не трактует перенос строки как точку с запятой.

Если инструкция начинается с (, [, /, + или -, то есть вероятность, что она может интерпретироваться как продолжение предыдущей инструкции. В качестве примера рассмотрим следующий код:

let b = 1 + a
(2 + 2).toString()

Интерпретатор трактует этот код следующим образом:

let b = 1 + a(2 + 2).toString();

Круглые скобки во второй строке интерпретируются как вызов функции a из первой строки. В данном случае, для работы кода как двух отдельных инструкций требуется явное указание точки с запятой.

Хорошей практикой является использование точки с запятой всегда, даже если инструкции расположены на разных строках.

Есть три исключения, когда синтаксический разбор второй строки как продолжения инструкции в первой строке невозможен. Первое исключение касается инструкций return, throw, yield, break и continue. Если перенос строки находится после любого из этих слов, то интерпретатор всегда будет воспринимать данный разрыв строки как точку с запятой. Например, если написано:

return
2

то интерпретатор будет предполагать, что подразумевается:

return; 2;

Второе исключение связано с операторами ++ и --. Эти операторы могут быть префиксными (расположенными перед выражением), или постфиксными (расположенными после выражения). Если нужно использовать их как постфиксные, тогда они должны находиться в той же строке, что и выражение, к которому они применяются.

Третье исключение связано со стрелочными функциями: сама стрелка => должна располагаться в той же строке, где находится список параметров.

Блок

Блок (также говорят блок кода, блок инструкций, составная инструкция) — это набор из нуля или более идущих подряд инструкций, заключённый в фигурные скобки. В отличие от обычных инструкций блок завершать точкой с запятой не нужно:

{
  первая инструкция;
  вторая инструкция;
  третья инструкция;
}

Блоки позволяют использовать множество отдельных инструкций там, где допускается использовать только одну единственную инструкцию, например, в управляющих инструкциях вроде if.

Область внутри блока называют телом этого блока.

Пустая инструкция

Пустая инструкция позволяет не вставлять инструкции там, где они синтаксически необходимы. Пустая инструкция представляет собой просто точку с запятой:

;

К примеру, пустая инструкция может оказаться полезной, когда требуется создать цикл с пустым телом:

let a = [];
for (let i = 0; i < 10; a[i] = i++);

В этом цикле вся работа выполняется выражением a[i] = i++, и тело цикла здесь не требуется. Однако синтаксис JavaScript требует, чтобы цикл имел тело, поэтому здесь использована пустая инструкция.

Выражения

Выражение — это фрагмент кода, результатом выполнения которого является некоторое значение.

Выражения делятся на простые (также называют первичными) и сложные. Простые выражения являются самостоятельными выражениями, они не включают в себя ещё более простых выражений. К простым выражениям относятся: ключевое слово this, идентификаторы и литералы. Сложные выражения состоят из простых выражений. Сложные выражения строятся из простых с помощью операторов:

// Простые выражения:
11	// Числовой литерал
str 	// Возвращает значение переменной
[]	// Литерал массива

// Сложные выражения:
alpha + 19	// Возвращает результат сложения
foo()		// Возвращает результат вызова функции
mass[1] 		// Возвращает значение элемента массива

Выражения являются частью инструкции:

// Значение выражения присваивается переменной
let x = 2 + 2;

В конце выражения можно поставить точку с запятой, в этом случае оно будет считаться инструкцией, но пользы от такой инструкции никакой нет, так как она никак не изменяет состояние программы:

37 - 2;

Компьютерные программы хранят данные в переменных, представляющих собой по факту области хранения данных в памяти компьютера, содержание этих областей памяти в любой момент времени исполнения программы называется состоянием программы.

Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2026 © puzzleweb.ru | статьи

Реклама на сайте | puzinfo@puzzleweb.ru