Операторы присваивания могут отличаться в разных языках программирования, но в большинстве случаев в качестве такого оператора используется знак “равно” (=). Например, в С/С+, JavaScript, Java, Python и многих других. Сегодня я буду говорить о JavaScript, но сказанное будет справедливо и для многих других языков.
Итак, вот такая запись:
х = 1
выполняет присваивание переменной х значения 1. После выполнения этого кода значение переменной х будет равно 1. Пожалуй, это одна из самых простых вещей в программировании, и её понимание не вызывает затруднений даже у самых-самых начинающих.
В данном случае знак “равно” является оператором, а всё это вместе является выражением. И даже можно сказать, что это выражение возвращает результат. Поэтому у оператора присваивания, как и у других операторов, есть операнды. При этом левым операндом обязательно должна быть переменная (либо элемент массива или свойство объекта), а правым операндом может быть значение любого типа или выражение.
ПРИМЕЧАНИЕ: справа может быть значение любого типа в JavaScript, поскольку это не типизированный язык. В типизированных языках, например, в С/С++, справа может быть только значение (выражение), которое можно присвоить переменной данного типа.
Поскольку мы уже выяснили, что знак = является оператором, то его можно использовать в более сложных составных выражениях. Например:
a = 0;
b = 10;
x = a = b == 10;
document.write(x + '<br>');
Здесь на экран будет выведено слово true, так как у оператора сравнения приоритет выше, чем у оператора присваивания, и сначала будет выполнено сравнение, и уже потом переменной а будет присвоено значение переменной b. Впрочем, даже если в данном примере мы сделаем так:
x = (a = b) == 10;
то всё равно будет выведено слово true, поскольку в данном случае приоритет операторов нам ничего особо не даёт.
Также можно использовать несколько операторов присваивания в одном выражении:
a = b = c = d = 5;
После выполнения этого кода все переменные будут равны 5. Здесь операторы присваивания работают справа налево. То есть сначала мы записываем число 5 в переменную d, затем значение переменной d записываем в переменную c и так далее. В итоге во всех переменных будет число 5. Картинка с примерами:
На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.