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

  Формат применения:

      Выражение присвоения значения (переменной или сущности объекта).
  Выражение присвоение значения - устанавливает отношения операндов на основе простого оператора присвоения, или оператора присвоения с операцией вычисления.
  У операторов присвоения всегда имеется два типа операндов:
  1. Операнд имени - Имя переменной или выражение доступа к сущности объекта.
  2. Операнд значения - Любой допустимый формат операнда значения JavaScript.

  Простой оператор присвоения заменяет значение, заданное операндом имени новым значением, указанным операндом значения.
  Оператор присвоения с операцией вычисления заменяет значение, заданное операндом имени, новым значением, которое получается как результат указанной операции вычисления над операндом имени и операндом значения.
  Выражение присвоение значения всегда имеет конечное значение равное присвоенному значению.
  Это, в частности, позволяет строить цепочки присвоения одного и того же значения многим переменным или сущностям объекта

  Поскольку любой операнд значения JavaScript имеет какое-либо значение, то, в соответствующем контексте, его также можно считать выражением присвоение значения.
  Выражения на основе операторов присвоения.
  = - Ключевое слово. Присвоение (простое).

Формат записи в коде скрипта:

  • Операнд имени1 = Операнд значения;
  += - Ключевое слово. Присвоение суммы.

Формат записи в коде скрипта:

  • Операнд имени1 += Операнд значения;
  -= - Ключевое слово. Присвоение разности.

Формат записи в коде скрипта:

  • Операнд имени1 -= Операнд значения;
  *= - Ключевое слово. Присвоение произведения.

Формат записи в коде скрипта:

  • Операнд имени1 *= Операнд значения;
  /= - Ключевое слово. Присвоение частного от деления.

Формат записи в коде скрипта:

  • Операнд имени1 /= Операнд значения;
  %= - Ключевое слово. Присвоение остатка от деления.

Формат записи в коде скрипта:

  • Операнд имени1 %= Операнд значения;
  <<= - Ключевое слово. Побитовый сдвиг влево.

Формат записи в коде скрипта:

  • Операнд имени1 <<= Операнд значения;
  >>= - Ключевое слово. Побитовый сдвиг вправо.

Формат записи в коде скрипта:

  • Операнд имени1 >>= Операнд значения;
  >>>= - Ключевое слово. Побитовый сдвиг вправо без сохранения знака.

Формат записи в коде скрипта:

  • Операнд имени1 >>>= Операнд значения;
  &= - Ключевое слово. Присвоение побитового произведения.

Формат записи в коде скрипта:

  • Операнд имени1 &= Операнд значения;
  ~= - Ключевое слово. Присвоение побитовой инверсии.

Формат записи в коде скрипта:

  • Операнд имени1 ~= Операнд значения;
  ^= - Ключевое слово. Присвоение побитовой суммы.

Формат записи в коде скрипта:

  • Операнд имени1 ^= Операнд значения;
  |= - Ключевое слово. Присвоение побитовой логической суммы.

Формат записи в коде скрипта:

  • Операнд имени1 |= Операнд значения;
  Ключевое слово - ; - Оператор группировки обязательно во всех форматах выражений на основе оператора присвоения.
  Алгоритм работы оператора присвоения с арифметической операцией с операндами с разными типами данных:
  1. Значение, указанное операндом значения с форматом экземпляра объекта, будет преобразовано в строку вида - "[object HTMLDivElement]".

  2. Значение, указанное операндом значения с форматом функции (не путать со значением, возвращаемым функцией!), будет преобразовано в строку с кодом этой функции.

  3. Значение, указанное операндом значения с форматом массива (не путать со значением элементов массива!), будет преобразовано в строку значений всех элементов этого массива, перечисленных через запятую.

  4. Если операнд имени определяет числовое значение, то значение, указанное операндом значения со строковым форматом, будет преобразовано в числовой формат. Если это не возможно, то значение, определяемое операндом имени, будет преобразовано в строковый формат перед операцией вычисления.

  5. Если операнд имени определяет числовое значение, то значение, указанное операндом значения с логическим форматом, будет преобразовано в числа - для true - 1, а для false - 0.

  6. Если операнд имени определяет числовое значение, то значение, указанное операндом значения с null форматом, будет преобразовано в число - 0.

  7. Если операнд имени определяет числовое значение, то значение, указанное операндом значения с NaN форматом, заменит значение, заданное операндом имени.

  8. Если операнд имени определяет числовое значение, то значение, указанное операндом значения с undefined форматом, заменит значение, заданное операндом имени.

  9. Если операнд имени определяет строковое значение, то значение, указанное операндом значения с числовым форматом будет преобразовано в строковый формат.

  10. Если операнд имени определяет строковое значение, то значение, указанное операндом значения с логическим форматом, будет преобразовано в строку - для true - "1", а для false - "0".

  11. Если операнд имени определяет строковое значение, то значение, указанное операндом значения с null форматом, будет преобразовано в строку - "null".

  12. Если операнд имени определяет строковое значение, то значение, указанное операндом значения с NaN форматом, будет преобразовано в строку - "NaN".

  13. Если операнд имени определяет строковое значение, то значение, указанное операндом значения с undefined форматом, будет преобразовано в строку - "undefined".