Порожній оператор використовується, щоб не надавати інструкції там, де синтаксис JavaScript їх очікує.
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Синтаксис
;
Опис
Порожній оператор - це крапка з комою (;), вона позначає, що жодної інструкції не буде виконано, навіть якщо синтаксис 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
дорівнює true
, то нічого не відбудеться, four
не грає ролі, і, таким чином, функція launchRocket()
у випадку else
не буде виконана.
if (one) doOne(); else if (two) doTwo(); else if (three) ; // тут нічого else if (four) doFour(); else launchRocket();
Специфікації
Сумісність з веб-переглядачами
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Empty statement (; ) | Chrome Full support 3 | Edge Full support 12 | Firefox Full support 1 | IE Full support 3 | Opera Full support Yes | Safari Full support Yes | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support 1.0 | nodejs Full support Yes |
Legend
- Full support
- Full support