Назначение сложения (+=) Оператор присваивания сложения добавляет значение переменной правого операнда присваивает результат Последнее изменение:18 августа 2022 года,автор MDN contributors
Базовое добавление JavaScript Добавляйте числа в JavaScript, помещая между ними знак плюса. Вы также можете использовать следующий синтаксис для выполнения сложения: var x+=y; Оператор «+=» указывает JavaScript добавить переменную справа от оператора к переменной слева.
Оператор присваивания сложения(+=)добавляет значение правого операнда к переменной и присваивает результат переменной.Типы двух операндов определяют поведение оператора присваивания сложения.Возможно сложение или конкатенация.
Оператор JavaScript += может объединить две строки вместе. Этот оператор более удобен, чем длинный синтаксис «переменная = x + y». Например, скажем, у вас есть имя и фамилия пользователя в двух строках. Вы можете использовать оператор += для объединения этих значений в одну строку.
Присвоение (=)Простой оператор присваивания(=)используется для присвоения значения переменной.Операция присваивания оценивается по присвоенному значению.Для присвоения одного значения нескольким переменным можно использовать цепочку операторов присваивания.
Оператор присваивания сложения ( +=
) добавляет значение правого операнда к переменной и присваивает результат переменной. Типы двух операндов определяют поведение оператора присваивания сложения. Возможно сложение или объединение.
Try it
Syntax
x += y // х = х + у
Examples
Использование задания на сложение
let baz = true; // логическое + число -> сложение baz += 1; // 2 // число + логическое значение -> сложение baz += false; // 2
let foo = 'foo'; // String + Boolean -> конкатенация foo += false; // "foofalse" // Строка + Строка -> конкатенация foo += 'bar'; // "foofalsebar"
let bar = 5; // Число + Число -> сложение bar += 2; // 7 // Число + строка -> конкатенация bar += 'foo'; // "7foo"
Specifications
Specification |
---|
Спецификация языка ECMAScript # sec-assignment-operators |
Browser compatibility
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | Deno | Node.![]() | |
Addition_assignment | 1 | 12 | 1 | 3 | 3 | 1 | 4.4 | 18 | 4 | 10.1 | 1 | 1.0 | 1.0 | 0.10.0 |
See also
- Операторы присваивания в справочнике JS
- Addition operator
JavaScript
-
Идентификаторы со специальными значениями
Несколько идентификаторов имеют особое значение в некоторых контекстах, не являясь зарезервированными словами любого рода.
-
Addition (+)
Оператор сложения производит конкатенацию строк числовых операндов.
-
Assignment (=)
Простой оператор присваивания используется переменной значения.
-
асинхронное функциональное выражение
Ключевое слово async function можно использовать для определения функций внутри выражений.
- 1
- …
- 811
- 812
- 813
- 814
- 815
- …
- 920
- Next
НОУ ИНТУИТ | Лекция | JavaScript.

< Практическая работа 10 || Лекция 12: 12
Аннотация: Переменные и операторы. Арифметические операторы. Операторы сравнения. Логические операторы. Условные операторы.
Ключевые слова: JavaScript, идентификатор, переменная, значение, базовый тип данных, строковый, вещественное число, счисление, система счисления, длина строки, специальный символ, апостроф, кодировка, latin-1, Unicode, истина, ложь, указание типа, специальный тип данных, undefined, объявление переменной, nan, команда, указатель, арифметический оператор, операнд, унарный оператор, сложение, вычитание, умножение, деление, остаток, инкремент, декремент, сложение строк, конкатенация, оператор присваивания, запись, присваивание, преобразование типов, равенство, логический оператор, операторы, значение выражения, логическое ИЛИ, условное выражение
В данной лекции мы рассмотрим основные понятия языка JavaScript, поскольку применение HTML5 и создание полноценных сайтов без него представляется затруднительным.
Переменные и операторы
Базовым понятием любого языка программирования является переменная – выделенный именованный участок памяти для хранения значений. Иными словами – это уникальный идентификатор, определяющий данные. Если еще упростить, то можно сказать, что переменная нужна для того, чтобы «запомнить» какое–либо значение, необходимое для дальнейшего использования.
Переменные могут относиться к одному из базовых типов данных (под разные типы данных выделяется разное количество памяти, над переменными различных типов данных допустимо осуществлять разный набор действий).
Базовыми типами данных в JavaScript являются:
- Числовые данные.
- Строковые данные.
- Логические данные.
Строковые переменные могут хранить значения, представленные в виде последовательности символов. Строковые значения в JavaScript должны заключаться в кавычки (двойные или одинарные). Длина строк ограничивается лишь памятью компьютера.
Следующие специальные символы могут быть включены в строки JavaScript:
Символ | Значение |
---|---|
\0 | Нуль |
\b | Пробел |
\f | Прогон страницы |
\n | Символ перехода на новую строку |
\r | Возврат каретки |
\t | Табуляция |
\v | Вертикальная табуляция |
\’ | Апостроф |
\» | Двойная кавычка |
\\ | Символ ‘\’ |
\XXX | Символ в кодировке Latin — 1, задаваемый тремя восьмеричными цифрами |
\xXX | Символ в кодировке Latin – 1, задаваемый двумя шестнадцатеричными цифрами |
\uXXXX | Символ Unicode, задаваемый четырьмя шестнадцатеричными цифрами |
Все переменные в JavaScript объявляются при помощи оператора var.
Объявление числовой переменной выглядит следующим образом: var i = 2;
Наличие var не является обязательным, это скорее правило хорошего тона при программировании.
Помимо указанных типов данных, JavaScript различает еще три специальных типа данных:
- Неопределенный тип данных (undefined). Применяется в случаях, когда значение не существует, либо не присвоено. К примеру, если при объявлении переменной ей не присваивается какое-либо конкретное значение, ее значением является undefined.
- Нулевое значение (null). Означает что значение переменной задано и оно «пустое».
Т.е. значение переменной есть «ничто».
- NaN – обозначение числового значения, не являющегося числом (к примеру, математическая бесконечность).
Переменная принимает значение undefined, если значение ей не присваивалось и null – если присвоено нулевое значение.
Вторым ключевым понятием языка программирования является оператор – наименьшая автономная часть, или команда. Иными словами оператор – это указатель действия, которое необходимо совершить над данными.
Арифметические операторы
Арифметические операторы JavaScript подразделяются на унарные – выполняющиеся над одним операндом, и бинарные – имеющие два операнда и сохраняющие результат в третью переменную.
Унарный оператор извлекает значение переменной, осуществляет необходимые действия и сохраняет результат в ту же переменную.
К арифметическим операторам JavaScript относят:
- Сложение (+) .
- Вычитание (-).
- Умножение (*).
- Деление (/).
- Остаток от деления (%).
- Инкремент, или увеличение на единицу (++).
- Декремент, или уменьшение на единицу (—).
Действия с арифметическими операторами просты и не требуют дополнительного пояснения.
Отдельно отметим оператор сложения строк (конкатенация) – объединения двух строк в одну:
var s1 = "string1", s2="string2"; s3 = s1+s2;ru/2010/edi»>В этом случае переменная s3 примет значение «string1string2».
Символ ‘=’ является оператором присваивания, т.е. запись вида x=4, присвоит переменной x новое значение, равное 4.
Можно единовременно присваивать одно значение нескольким переменным: x=z=4.
Помимо обычного присваивания существует оператор сложного присваивания, т.е. осуществление присваивания совместно с другой операцией (например, со сложением: x +=4).
Дальше >>
< Практическая работа 10 || Лекция 12: 12
Добавление Javascript
5-минутное чтение написано
Чарли Мидтлинг
01.12.2020
Следующий пост
JavaScript: Знаете ли вы дополнение?
Я: Конечно! Я выучил математику, когда мне было семь лет, сложение довольно легко!
JavaScript: Вы действительно знаете сложение? Пожалуйста, решите это уравнение
правда + [] = ?
Я: А?
JavaScript: Добро пожаловать в добавление JavaScript!
Если вы работали с JavaScript, вы, вероятно, видели много случаев использования оператора +
и обнаружили, что результат не обязательно соответствует вашим ожиданиям.
Язык поддерживает использование оператора +
между (почти) всеми различными типами данных, поэтому результаты могут быть запутанными. В JavaScript нет компилятора, который помог бы вам в вашем «путешествии сложения».
Оператор сложения либо выполняет конкатенацию строк, либо числовое сложение.
С помощью приведенного выше правила вы должны понимать все дополнения в JavaScript, но некоторым из нас необходимо видеть примеры и пояснения, чтобы полностью понять различные сценарии.
Прежде всего, помните, что JavaScript выполняет сложение слева направо, сначала вычисляя круглые скобки. Это должно быть знакомо с тем, что вы узнали в математике среднего класса.
Пошаговый пример 1 + 2 + (3 + 4) 1 + 2 + 7 3 + 7 10
Как гласит правило — с двумя числовыми элементами вывод представляет собой числовое значение:
1 + 1 = 2
Конкатенация строк хорошо известна для разных языков программирования и является разумным использованием оператора +
:
"Санта" + " " + "Клаус" = "Санта-Клаус"
Пока все хорошо!
Самые важные «правила» с
дополнением в JavaScript- При добавлении нечислового значения к числовому значению будет предпринята попытка преобразовать нечисловое значение в числовое, если это возможно.
Если нет, оба преобразуются в строки.
- Добавление нечислового значения к некоторому значению приведет к преобразованию обоих значений в строки перед их добавлением.
Итак, что же это на самом деле означает?
1 + "2" = "12" 1 + 1 + «2» = «22» 1 + "1" + "2" = "112"
Запутался? По крайней мере я…
В первой строке добавляется числовое и нечисловое значение. Оба преобразуются в строки перед добавлением
"1" + "2" = "12"
Во второй строке есть как числовое сложение, так и конкатенация строк. Помните, сложение идет слева направо.
1 + 1 = 2 2 + "2" = "2" + "2" = "22"
Третья строка содержит только конкатенацию строк.
"1" + "1" + "2" => "112"
К сожалению, на этом все не заканчивается. Некоторые другие типы данных в JavaScript ведут себя довольно нетипичным образом при использовании для сложения.
Булево значение
Что происходит, когда вы добавляете что-то с логическим значением?
1 + правда = 2 1 + ложь = 1 правда + правда = 2 ложь + ложь = 0 "1" + правда = "1 правда" "1" + ложь = "1 ложь"
Булевы значения могут быть преобразованы в числовые значения в JavaScript, и результатом преобразования будет либо 1, либо 0.
правда => 1 ложь => 0
Объединение логического и строкового значения преобразует true
в «true» и false
в «false».
Объекты, массивы и функции
Если одно из значений в дополнении является объектом, массивом или функцией, оно попытается преобразовать его в примитивное значение.
- Выполнить функцию
valueOf()
и использовать это значение, если это примитив - Выполнить
toString()
-функцию
const me = {имя: "Чарли", возраст: 34} я + 1 = "[объект Объект]1"
По умолчанию valueOf()
-реализация — пустой объект {}
— это не примитив, и он попытается преобразовать его, используя toString()
. По умолчанию toString()
-значение для объекта "[object Object]"
— не очень полезно для добавления. К сожалению, я много раз видел этот вывод за время работы разработчиком — обычно это происходит, когда я забываю указать свойство объекта, которое должно быть частью дополнения.
Иногда может быть удобно переопределить valueOf()
или toString()
-функция и заставить ее возвращать что-то полезное.
const me = {имя: "Чарли", возраст: 34} me.valueOf = функция () {вернуть this.age} я + 1 = 35
Тип возвращаемого значения теперь представляет собой числовое значение, и к 1 будет добавлено 34, что равно 35.
То же самое можно сделать для функции или класса — как для valueOf
, так и для toString
.
функция BekkEmployee(имя, возраст) { это.имя = имя; this.age = возраст; this.toString = функция () { вернуть `${this.name} ${this.age} лет`; } } new BekkEmployee("Чарли", 34) + 100 = "Чарли 34 года100"
Для массивов valueOf
возвращает массив, который не является примитивным значением. Вывод его toString()
— это содержимое, соединенное запятой. Пустой массив аналогичен пустой строке.
[] + 1 = "1" [1, 2, 3] + [4, 5, 6] = "1,2,3" + "3,4,5" = "1,2,34,5,6"
Поскольку вы все это время читали, вот вам викторина:
PS: попробуйте решить ее, прежде чем проверять консоль браузера
const me = {имя: "Чарли", возраст: 34} me.toString = функция () {вернуть this.age} правда + я + 65 + [2] + ложь + я + "с рождеством"
Дата
Все правила имеют некоторые исключения…
Все собственные объекты ECMAScript, за исключением объектов Date, обрабатывают отсутствие подсказки, как если бы был задан номер подсказки; Объекты даты обрабатывают отсутствие подсказки, как если бы была дана подсказка String.
Date.valueOf
возвращает числовой тип, но дата будет преобразована в строковый тип при использовании оператора +
.
новая дата (2020, 11, 1) + 12345 = "Вторник, 01 декабря 2020 г., 00:00:00 GMT+0100 (центральноевропейское стандартное время) 12345" новая дата (2020, 11, 1) + "12345" = "Вторник, 01 декабря 2020 г., 00:00:00 GMT+0100 (центральноевропейское стандартное время) 12345" new Date(2020, 11, 1).toString() = "Вт, 01 декабря 2020 г., 00:00:00 по Гринвичу + 0100 (центральноевропейское стандартное время)" новая дата (2020, 11, 1).valueOf() = 1606777200000
Чудаки
Теперь, когда вы знаете важные правила сложения, вам также следует знать о некоторых типах данных:
undefined + 1 = NaN // неопределенное преобразуется в числовое => NaN неопределенный + "1" = "неопределенный1" null + 1 = 1 // ноль преобразуется в числовой => 0 ноль + "1" = "ноль1" NaN + 1 = NaN NaN + "1" = "NaN1" Symbol(1) + 1 // TypeError: невозможно преобразовать значение символа в число BigInt(1) + 1 // TypeError: Нельзя смешивать BigInt и другие типы, используйте явные преобразования BigInt(1) + "2" = "12"
Как вы уже читали, сложение не так просто, как известно из математики. Однако, если вы помните некоторые из приведенных выше правил преобразования, вы можете избавить себя от некоторых головных болей в будущем!
Читать следующий пост
Оператор JavaScript: присваивание сложения (`x += y`)
Могу ли я использовать
Поиск?
Оператор JavaScript: присваивание сложения (`x += y`)
- global»>
Глобальное использование
97,6% + 0% «=» 97,6%IE
- 6 — 10: Поддерживается
- 11: Поддерживается
Edge
- 12 — 108: Поддержка
- 109: Поддержка
6644
Хром
- 4–108: Поддерживается
- 109: Поддерживается
- 110 — 112: Поддерживается
Safari
- 56% — Supported»> 3,1 — 16,2: Поддерживается
- 16,3: Поддерживается
- TP: поддержал
Safari on iOS
- 3.2 — 16.2: Supported
- 16.3: Supported
Opera Mini
- all: Support unknown
Android Browser
- 2.1 — 4.3: Not supported
- 4.4 — 4.4.4: Supported
- 109: Supported