Операции сравнения
Операция |
Название |
Описание |
a < b |
Меньше |
Возвращает true, если левый операнд меньше, чем правый операнд. |
a > b |
Больше |
Возвращает true, если левый операнд больше, чем правый операнд. |
a <= b |
Не больше |
Возвращает true, если левый операнд меньше или равен правому операнду. |
a => b |
Не меньше |
Возвращает true, если левый операнд больше или равен правому операнду. |
a == b |
Равно |
Возвращает true, если левый операнд равен правому операнду. |
a != b |
Не равно |
Возвращает true, если левый операнд не равен правому операнду. |
a === b |
Тождественно |
Возвращает true, если левый операнд тождественно равен правому операнду. |
a !== b |
Не тождественно |
Возвращает true, если левый операнд тождественно не равен правому операнду. |
Примеры:
var x = "3";
a = x == 3; // a равно true
b = x === 3; // b равно false (разные типы)
Арифметические операции
Операция |
Название |
Описание |
a + b |
Сложение |
Возвращает сумму двух операндов. |
a - b |
Вычитание |
Возвращает разность от вычитания правого операнда из левого. |
a * b |
Умножение |
Возвращает произведение двух операндов. |
a / b |
Деление |
Возвращает частное от деления левого операнда на правый. |
a % b |
Остаток по модулю |
Возвращает целый остаток от деления левого операнда на правый. Плавающие числа перед операцией округляются до целых. |
++ |
Инкремент |
Унарная операция. Увеличивает значение переменной на 1. Если используется как префикс (++a), возвращает значение операнда после увеличения его на 1. Если используется как постфикс (a++), возвращает значение операнда перед увеличением его на 1. |
-- |
Декремент |
Унарная операция. Уменьшает значение переменной на 1. Если используется как префикс (--a), возвращает значение операнда после уменьшения его на 1. Если используется как постфикс (a--), возвращает значение операнда перед уменьшением его на 1. |
-a |
Смена знака |
Унарная операция. Возвращает арифметическое отрицание операнда. |
Примеры:
var i, j, k;
i = 19 % 6.8; // i равно 5
k = 2;
j = k++; // j равно 2, k равно 3
j = ++k; // j и k равны 4
Битовые операции
Операция |
Название |
Описание |
a & b |
Побитовое AND |
Возвращает в каждой битовой позиции 1, если соответствующие позиции обоих операндов равны 1. |
a | b |
Побитовое OR |
Возвращает в каждой битовой позиции 1, если соответствующая позиция хотя бы одного операнда равна 1. |
a ^ b |
Побитовое XOR |
Возвращает в каждой битовой позиции 1, если соответствующая позиция ровно одного операнда равна 1. |
~a |
Побитовое NOT |
Унарная операция. Инвертирует каждую битовую позицию операнда. |
a << b |
Сдвиг влево |
Сдвигает двоичное представление левого операнда влево на количество бит, заданное вторым операндом. Освобождающиеся справа биты заполняются нулями. |
a >> b |
Арифметический сдвиг вправо |
Сдвигает двоичное представление левого операнда вправо на количество бит, заданное вторым операндом. Освобождающиеся слева биты заполняются старшим (знаковым) битом. |
a >>> b |
Логический сдвиг вправо |
Сдвигает двоичное представление левого операнда вправо на количество бит, заданное вторым операндом. Освобождающиеся слева биты заполняются нулями. |
Примеры:
var i, j, k;
i = 15; j = 9;
k = i & j; // k равно 9 (1111 & 1001 = 1001)
k = i | j; // k равно 15 (1111 | 1001 = 1111)
k = i ^ j; // k равно 6 (1111 ^ 1001 = 0110)
i = -14; // двоичное значение 11111111 11111111 11111111 11110010
j = i >> 2; // j равно -4 (11111111 11111111 11111111 11111100)
k = i >>> 2; // k равно 1073741820 (00111111 11111111 11111111 11111100)
