Оператор присваивания применяется для присваивания значений переменным. В языке сценариев JavaScript, так же как и в языке программирования С, допускается комбинирование этого оператора с другими для изменения содержимого переменных.
Ниже мы перечислили все возможные комбинации оператора присваивания и других операторов:
| Оператор | Описание | ||
| = | Простое присваивание | ||
| += | Увеличение численного значения или слияние строк | ||
| -= | Уменьшение численного значения | ||
| *= | Умножение | ||
| /= | Деление | ||
| %= | Вычисление остатка от деления | ||
| >>= | Сдвиг вправо | ||
| >>>= | Сдвиг вправо с заполнением освобождаемых разрядов нулями | ||
| <<= | Сдвиг влево | ||
| |= | ИЛИ | ||
| &= | И | ||
| ^= | ИСКЛЮЧАЮЩЕЕ ИЛИ |
Для тех, кто никогда не программировал на языке С, комбинации оператора присваивания с другими операторами могут показаться непривычными и сложными для использования. На самом деле они упрощают сценарии, сокращая листинги исходных текстов.
Рассмотрим, например, применение оператора += для увеличения содержимого числовой переменной.
Вначале решим эту задачу без использования данного оператора. Ниже мы объявили переменную с именем nCounter и присвоили ей начальное значение 1, а затем увеличили это значение на 5:
var nCounter = 1;
nCounter = nCounter + 5;
Теперь сделаем то же самое, но по-другому:
var nCounter = 1;
nCounter += 5;
Как видите, второй способ короче первого.
Для того чтобы сдвинуть содержимое переменной на три разряда вправо, вы можете воспользоваться оператором >>=, как это сделано в следующем фрагменте исходного текста:
nCounter >>= 3;
Результат при этом будет такой же, как и при выполнении следующей строки:
nCounter = nCounter >> 3;