Прикладной код

Операторы присваивания

Операторы присваивания

Присваивают левому операнду значение, которое зависит от значения правого операнда.

Описание

Базовый оператор присваивание - это знак равно (=), которое дает левому операнду значение правого операнда.

Остальные операторы присваивания являются сокращениями следующих форм.

Имя

Сокращенный оператор

Смысл

Описание

Присваивание

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