From c058fa0fb22dc40ef0225b21a97578cddd0aaffa Mon Sep 17 00:00:00 2001 From: Florian Merz Date: Thu, 11 Feb 2021 14:51:05 +0100 Subject: unslug ru: move --- .../reference/operators/comma_operator/index.html | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 files/ru/web/javascript/reference/operators/comma_operator/index.html (limited to 'files/ru/web/javascript/reference/operators/comma_operator') diff --git a/files/ru/web/javascript/reference/operators/comma_operator/index.html b/files/ru/web/javascript/reference/operators/comma_operator/index.html new file mode 100644 index 0000000000..471c81ba88 --- /dev/null +++ b/files/ru/web/javascript/reference/operators/comma_operator/index.html @@ -0,0 +1,103 @@ +--- +title: Оператор Запятая +slug: Web/JavaScript/Reference/Operators/Оператор_Запятая +tags: + - Оператор запятая +translation_of: Web/JavaScript/Reference/Operators/Comma_Operator +--- +
{{jsSidebar("Operators")}}
+ +

Оператор запятая выполняет каждый из его операндов (слева направо) и возвращает значение последнего операнда.

+ +
{{EmbedInteractiveExample("pages/js/expressions-commaoperators.html")}}
+ + + +

Синтаксис

+ +
expr1, expr2, expr3...
+ +

Параметры

+ +
+
expr1, expr2, expr3...
+
Любые выражения.
+
+ +

Описание

+ +

Вы можете использовать оператор запятая, когда необходимо включить несколько выражений в место, которое принимает только одно выражение. Наиболее частый пример использования этого оператора - это передача нескольких параметров в цикл for.

+ +

Примеры

+ +

Если a это двумерный массив элементов размерностью 10 х 10, то приведенный ниже код использует оператор запятая для одновременного изменения двух переменных за раз.

+ +

Следующий код выводит в консоль значения диагональных элементов массива:

+
for (let i = 0, j = 9; i <= 9; i++, j--)
+  console.log("a[" + i + "][" + j + "] = " + a[i][j]);
+ +

Заметьте, что запятая при объявлении переменной varlet или const не является оператором запятая, так как в данном случае она находится не в выражении. Скорее, это спец символ в объявлении переменных, комбинирующий их множество в одно выражение. Практически, эта запятая ведет себя почти так же, как и запятая.

+ +
  // подобное объявление запрещено в строгом режиме(strict mode)
+
+a = b = 3, c = 4; // возвращает 4 в консоль
+console.log(a); // 3
+x = (y = 5, z = 6); // возвращает 6 в консоль
+console.log(x); // 6
+
+ +

Оператор запятая полностью отличается от запятой в массивах, объектах, аргументах и параметрах функции.

+ +

Вычисления и возврат значения

+ +

Другой пример использования оператора запятой – вычисления перед возвратом значения. Как было указано ранее, будет возвращён только последний элемент, но все предыдущие также будут вычислены. Таким образом можно сделать:

+ +
function myFunc () {
+  let x = 0;
+
+  return (x += 1, x); // то же самое, что return ++x;
+}
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
СпецификацияСтатусКомментарий
{{SpecName('ESDraft', '#sec-comma-operator', 'Comma operator')}}{{Spec2('ESDraft')}} 
{{SpecName('ES6', '#sec-comma-operator', 'Comma operator')}}{{Spec2('ES6')}} 
{{SpecName('ES5.1', '#sec-11.14', 'Comma operator')}}{{Spec2('ES5.1')}} 
{{SpecName('ES1', '#sec-11.14', 'Comma operator')}}{{Spec2('ES1')}}Initial definition
+ +

Совместимость браузеров

+ + + +

{{Compat("javascript.operators.comma")}}

+ +

Смотри также

+ + -- cgit v1.2.3-54-g00ecf