В JavaScript существует множество различных операторов: арифметические операторы, операторы присваивания, строковые операторы, операторы сравнения, логические операторы, операторы типов, побитовые операторы.
Оператор присваивания (=) присваивает значение переменной:
var x = 5; // присваивает значение 5 переменной x
var y = 2; // присваивает значение 2 переменной y
var z = x + y; // присваивает значение 7 переменной z (x + y)
Оператор сложения (+) складывает числа:
var x = 5;
var y = 2;
var z = x + y;
Оператор умножения (*) перемножает числа:
var x = 5;
var y = 2;
var z = x * y;
Арифметические операторы JavaScript
Арифметические операторы используются для выполнения арифметических операций с числами:
Оператор | Описание |
---|---|
+ | Сложение |
- | Вычитание |
* | Умножение |
/ | Деление |
% | Остаток от деления |
++ | Увеличение на 1 |
-- | Уменьшение на 1 |
Операторы присваивания JavaScript
Операторы присваивания присваивают значения переменным JavaScript.
Оператор | Пример | Аналог |
---|---|---|
= | 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 |
Строковые операторы JavaScript
Оператор сложения (+) также может использоваться для объединения (конкатенации) строк.
txt1 = "John";
txt2 = "Doe";
txt3 = txt1 + " " + txt2;
В результате в переменной txt3 будет строка - "John Doe".
Также, для конкатенации строк можно использовать оператор присваивания +=:
txt1 = "Какой теплый ";
txt1 += "и чудесный день";
В результате в переменной txt1 будет строка - "Какой теплый и чудесный день".
При использовании со строками оператор + еще называют оператором конкатенации.
Сложение строк и чисел
Сложение двух чисел вернет сумму этих чисел, однако сложение числа и строки вернет строку:
x = 5 + 5;
y = "5" + 5;
z = "Hello" + 5;
В результате в переменных x, y, z мы получим 10, 55, Hello5 соответственно.
Помните! Если сложить число и строку, в результате получится строка!
Операторы сравнения JavaScript
Оператор | Описание |
---|---|
== | равно |
=== | равно по значению и типу |
!= | не равно |
!== | не равно по значению и типу |
> | больше чем |
< | меньше чем |
>= | больше или равно |
<= | меньше или равно |
? | тернарный оператор |
Логические операторы JavaScript
Оператор | Описание |
---|---|
&& | логическое И |
|| | логическое ИЛИ |
! | логическое НЕ |
Операторы типов JavaScript
Оператор | Описание |
---|---|
typeof | Возвращает тип переменной |
instanceof | Возвращает true, если объект является экземпляром определенного объектного типа |
Побитовые операторы JavaScript
Побитовые операторы работают с 32-битными числами.
Все числовые члены в побитовом операторе преобразуются в 32-битные числа. Результат вычисления преобразуется обратно в число JavaScript.
Оператор | Описание | Пример | То же, что | Результат | Десятичное число |
---|---|---|---|---|---|
& | И | 5 & 1 | 0101 & 0001 | 1 | 1 |
| | ИЛИ | 5 | 1 | 0101 | 0001 | 101 | 5 |
~ | НЕ | ~5 | ~0101 | 1010 | 10 |
^ | ИСКЛЮЧАЮЩЕЕ ИЛИ | 5 ^ 1 | 0101 ^ 0001 | 100 | 4 |
<< | Побитовый сдвиг влево | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | Побитовый сдвиг вправо со знаком | 5 >> 1 | 0101 >> 1 | 10 | 2 |
>>> | Побитовый сдвиг вправо | 5 >>> 1 | 0101 >>> 1 | 10 | 2 |
Внимание! В примерах в таблице выше приведены 4-битные числа без знака. В действительности же JavaScript использует 32-битные числа со знаком. Таким образом, в JavaScript выражение ~5 вернет не 10, а -6, т.е. ~00000000000000000000000000000101 возвращает 11111111111111111111111111111010.