Присваивают левому операнду значение, которое зависит от значения правого операнда.
Описание
Базовый оператор присваивание - это знак равно (=), которое дает левому операнду значение правого операнда.
Остальные операторы присваивания являются сокращениями следующих форм.
Имя | Сокращенный оператор | Смысл | Описание |
Присваивание | x = y | x = y | Простой оператор присванивания, который задает значение переменной. Цепочка операторов присваивания может быть использована для назначения нескольким переменным одного и того же значения. |
Присваивание со сложением | x += y | x = x + y | Добавляет значение правого операнда к значению левого и сохраняет результат в переменную левого операнда. Поведение оператора присваивания со сложением определяют типы значений обоих операндов. |
Присваивание с вычитанием | x -= y | x = x - y | Вычитает значение правого операнда из значения левого и присваивает результат переменной левого операнда. |
Присваивание с умножением | x *= y | x = x * y | Умножает переменную на значение правого операнда и присваивает результат переменной. |
Присваивание с делением | x /= y | x = x / y | Делит переменную на значение правого операнда и присваивает результат переменной. |
Присваивание по модулю | x %= y | x = x % y | Делит переменную на значение правого операнда и присваивает переменной остаток от деления. |
Примеры
Присванивание.
// Изначальные значения: x = 5, y = 10, z = 25
x = y // x - 10
x = y = z // x, y и z все равны 25
Присваивание со сложением.
/* Изначальные значения: foo = "foo", bar = 5, baz = true .
Результат каждого нижеприведенного примера представлен в изоляции от предыдущих ( значения переменных возвращаются к первоначальным).
*/
// Number + Number -> сложение
bar += 2 // 7
// Boolean + Number -> сложение
baz += 1 // 2
// Boolean + Boolean -> сложение
baz += false // 1
// Number + String -> конкатенация
bar += "foo" // "5foo"
// String + Boolean -> конкатенация
foo += false // "foofalse"
// String + String -> конкатенация
foo += "bar" // "foobar"
Присванивание с вычитанием.
// Изначальные значения: bar = 5
bar -= 2 // 3
bar -= "foo" // NaN
Присваивание со умножением.
// Изначальные значения: bar = 5
bar *= 2 // 10
bar *= "foo" // NaN
Присванивание делением.
// Изначальные значения: bar = 5
bar /= 2 // 2.5
bar /= "foo" // NaN
bar /= 0 // Infinity
Присваивание по модулю.
// Изначальные значения: bar = 5
bar %= 2 // 1
bar %= "foo" // NaN
bar %= 0 // NaN