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

Пустая инструкция используется, когда инструкция не нужна, хотя синтаксис JavaScript будет предполагать её.

Синтаксис

;

Описание

Пустая инструкция - точка с запятой (;) оповещает о том, что ни одно выражение не будет выполняться, даже если синтаксис JavaScript ожидает этого.

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

Примеры

Пустая инструкция используется в выражениях циклов. Смотрите следующий пример с пустым телом цикла:

var arr = [1, 2, 3];

// Приравняет все значения массива к 0
for (i = 0; i < arr.length; arr[i++] = 0) /* выражения */ ;

console.log(arr)
// [0, 0, 0]

Заметьте: Это хорошая идея: комментировать намеренное использование пустых инструкций, т.к. не очевидно отличить их от нормальной точки с запятой. В следующем примере использование, вероятно, ненамеренное:

if (condition);       // Внимание, этот if ничего не делает!
   killTheUniverse()  // Это всегда выполняется!!!

Другой пример: if...else без фигурных скобок  ({}). Если three истинно, ничего не пройзойдет, four не важна, и функция launchRocket() тоже не запустится.

if (one)
  doOne();
else if (two)
  doTwo();
else if (three)
  ; // nothing here
else if (four)
  doFour();
else
  launchRocket();

Спецификации

Спецификация Статус Комментарий
ECMAScript (ECMA-262)
Определение 'Empty statement' в этой спецификации.
Живой стандарт
ECMAScript 2015 (6th Edition, ECMA-262)
Определение 'Empty statement' в этой спецификации.
Стандарт
ECMAScript 5.1 (ECMA-262)
Определение 'Empty statement' в этой спецификации.
Стандарт
ECMAScript 3rd Edition (ECMA-262)
Определение 'Empty statement' в этой спецификации.
Стандарт
ECMAScript 1st Edition (ECMA-262)
Определение 'Empty statement' в этой спецификации.
Стандарт Изначальное определение

Поддержка браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка (Да) (Да) (Да) (Да) (Да)
Возможность Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка (Да) (Да) (Да) (Да) (Да) (Да)

Смотрите также