JavaScript можно сказать произошел от языка C++ и поэтому практически все операции свойственные Си присутствуют здесь тоже.
Унарные операции производят действие над одним операндом, поэтому характерны следующие операции:
++ | инкремент |
---|---|
-- | декремент |
! | логическое отрицание |
- | унарное вычитание (смена знака на противоположный) |
Операции инкремента и декремента, также как и в языке Си, могут располагаться с правой или левой стороны операнда, т.е.
i++ ++i i-- --i
При этом, если операция стоит перед операндом, то сначала производится вычисление нового значения операнда в зависимости от операции, а потом оно используется в программе. Если же операция идет после операнда, то сначала используется значение операнда в программе, а потом производится операция уменьшения или увеличения. Все будет ясно из следующего примера:
K=3; L=K++; //L=3, K=4 L=++K; //L=5, K=5
Операция логического отрицания используется для изменения логического выражения на противоположное:
K = true; document.writeln(K); //"true" document.writeln(!K); //"false"
Бинарные операции требуют два операнда. К таким операциям относятся сложение(+), вычитание(-), деление(/) и деление по модулю(%).
Все операции выполняют теже функции, что и в других языках программирования. Отличие от языка С++ имеется только в операции деления, которая возвращает результат вещественного типа.
Все побитовые операции JavaScript идентичны операциям в языке Си:
~ | побитовое отрицание |
---|---|
<< | Сдвиг влево |
>> | Сдвиг вправо |
>>> | Сдвиг вправо с заполнением нулями |
& | Побитовое И (побитовое умножение) |
| | Побитовое ИЛИ (побитовая сумма) |
^ | Побитовое исключающее ИЛИ (побитовая сумма по модулю два) |
Результатом всех этих побитовых операций является 32 битное число.