Операторы JavaScript
Пример
Присвойте значения переменным и сложите их вместе:
let x = 5; // assign the value 5 to
x
let y = 2; // assign the value
2 to y
let z = x + y; // assign the value 7 to z (5 + 2)
Оператор присваивания ( =
) присваивает значение переменной.
Назначение
let x = 10;
Оператор сложения ( +
) складывает числа:
Добавление
let x = 5;
let y = 2;
let z = x + y;
Оператор умножения ( *
) умножает числа.
Умножение
let x = 5;
let y = 2;
let z = x * y;
Арифметические операторы JavaScript
Арифметические операторы используются для выполнения арифметических действий над числами:
Operator | Description |
---|---|
+ | Addition |
- | Subtraction |
* | Multiplication |
** | Exponentiation (ES2016) |
/ | Division |
% | Modulus (Division Remainder) |
++ | Increment |
-- | Decrement |
Арифметические операторы полностью описаны в главе Арифметика JS .
Операторы присваивания JavaScript
Операторы присваивания присваивают значения переменным JavaScript.
Operator | Example | Same As |
---|---|---|
= | 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 **= y | x = x ** y |
Оператор сложения присваивания ( +=
) добавляет значение к переменной.
Назначение
let x = 10;
x += 5;
Операторы присваивания полностью описаны в главе JS Assignment .
Строковые операторы JavaScript
Оператор +
также может использоваться для добавления (конкатенации) строк.
Пример
let text1 = "John";
let text2 = "Doe";
let text3 = text1 + " " + text2;
Результатом text3 будет:
John Doe
Оператор +=
присваивания также можно использовать для добавления (объединения) строк:
Пример
let text1 = "What a very ";
text1 += "nice day";
Результатом text1 будет:
What a very nice day
При использовании со строками оператор + называется оператором конкатенации.
Добавление строк и чисел
Сложение двух чисел вернет сумму, но сложение числа и строки вернет строку:
Пример
let x = 5 + 5;
let y = "5" + 5;
let z = "Hello" + 5;
Результатом x , y и z будет:
10
55
Hello5
Если вы добавите число и строку, результатом будет строка!
Операторы сравнения JavaScript
Operator | Description |
---|---|
== | equal to |
=== | equal value and equal type |
!= | not equal |
!== | not equal value or not equal type |
> | greater than |
< | less than |
>= | greater than or equal to |
<= | less than or equal to |
? | ternary operator |
Операторы сравнения полностью описаны в главе Сравнение JS .
Логические операторы JavaScript
Operator | Description |
---|---|
&& | logical and |
|| | logical or |
! | logical not |
Логические операторы полностью описаны в главе Сравнение JS .
Операторы типа JavaScript
Operator | Description |
---|---|
typeof | Returns the type of a variable |
instanceof | Returns true if an object is an instance of an object type |
Операторы типов полностью описаны в главе Преобразование типов JS .
Побитовые операторы JavaScript
Битовые операторы работают с 32-битными числами.
Любой числовой операнд в операции преобразуется в 32-битное число. Результат преобразуется обратно в число JavaScript.Operator | Description | Example | Same as | Result | Decimal |
---|---|---|---|---|---|
& | AND | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | OR | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | NOT | ~ 5 | ~0101 | 1010 | 10 |
^ | XOR | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | left shift | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | right shift | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
>>> | unsigned right shift | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
В приведенных выше примерах используются 4-битные беззнаковые примеры. Но JavaScript использует 32-битные числа со знаком.
Из-за этого в JavaScript ~ 5 не вернет 10. Он вернет -6.
~000000000000000000000000000000101 вернет 11111111111111111111111111111010
Побитовые операторы полностью описаны в главе « JS Bitwise» .