
Операторы и выражения в JavaScript
В JavaScript существует несколько видов операторов, которые разделяются на категории в зависимости от выполняемых операций. Рассмотрим каждую категорию подробнее.
Виды операторов в JavaScript
- Арифметические операторы
- Операторы присваивания
- Операторы сравнения
- Логические операторы
- Битовые операторы
- Оператор запятая
- Унарные операторы
Арифметические операторы
Арифметические операторы используются для выполнения математических операций. В таблице приведены основные арифметические операторы JavaScript:
Оператор | Описание | Пример |
---|---|---|
+ | Сложение | 2 + 2 |
- | Вычитание | 5 - 2 |
* | Умножение | 3 * 4 |
/ | Деление | 8 / 2 |
% | Остаток от деления | 7 % 2 |
** | Возведение в степень | 2 ** 3 |
Примеры использования арифметических операторов в JS
Примеры использования арифметических операторов:
let a = 5;
let b = 2;
console.log(a + b); // 7
console.log(a - b); // 3
console.log(a * b); // 10
console.log(a / b); // 2.5
console.log(a % b); // 1
console.log(a ** b); // 25
Операторы присваивания
Операторы присваивания используются для присвоения значения переменной. В JavaScript доступны следующие операторы присваивания:
Оператор | Описание | Пример |
---|---|---|
= | Присваивание значения | x = 5 |
+= | Прибавление значения | x += 2 |
-= | Вычитание значения | x -= 2 |
*= | Умножение на значение | x *= 2 |
/= | Деление на значение | x /= 2 |
%= | Остаток от деления на значение | x %= 2 |
**= | Возведение в степень и присваивание | x **= 2 |
Примеры использования операторов присваивания в JS
Примеры использования операторов присваивания:
let x = 5;
x += 2; // x = x + 2;
console.log(x); // 7
let y = 10;
y -= 3; // y = y - 3;
console.log(y); // 7
let z = 2;
z *= 3; // z = z * 3;
console.log(z); // 6
let k = 8;
k /= 2; // k = k / 2;
console.log(k); // 4
let m = 7;
m %= 2; // m = m % 2;
console.log(m); // 1
let n = 2;
n **= 3; // n = n ** 3;
console.log(n); // 8
Операторы сравнения
Операторы сравнения используются для сравнения значений. Результатом оператора сравнения является логическое значение true или false. Ниже приведены основные операторы сравнения в JavaScript:
Оператор | Описание | Примеры |
---|---|---|
== | равно | 10 == 10 // true |
!= | не равно | 10 != 5 // true |
=== | строго равно (сравнивает значения и типы данных) | 10 === "10" // false |
!== | строго не равно | 10 !== "10" // true |
< | меньше | 5 < 10 // true |
> | больше | 10 > 5 // true |
<= | меньше или равно | 5 <= 10 // true |
>= | больше или равно | 10 >= 5 // true |
Примеры использования операторов сравнения в JS
Примеры использования операторов сравнения в JS:
const a = 10;
const b = 5;
console.log(a == b); // false
console.log(a != b); // true
console.log(a === "10"); // false
console.log(a !== "10"); // true
console.log(a < b); // false
console.log(a > b); // true
console.log(a <= b); // false
console.log(a >= b); // true
Операторы логических выражений
Операторы логических выражений в JavaScript позволяют объединять логические значения (true/false) и получать новые логические значения в результате выполнения операций.
Оператор | Описание | Пример |
---|---|---|
&& (логическое "и") | Возвращает true, если оба операнда равны true, в противном случае возвращает false. | true && false вернет false |
|| (логическое "или") | Возвращает true, если хотя бы один из операндов равен true, в противном случае возвращает false. | true || false вернет true |
! (логическое "не") | Инвертирует логическое значение операнда. | !true вернет false |
Примеры логических операторов в JavaScript
let a = 10;
let b = 20;
let c = 30;
// Использование оператора логического "и"
if (a < b && b < c) {
console.log("b находится между a и c");
}
// Использование оператора логического "или"
if (a < b || a < c) {
console.log("a меньше b или c");
}
// Использование оператора логического "не"
if (!(a == b)) {
console.log("a не равно b");
}
В примере выше мы используем операторы логического "и", "или" и "не" для проверки условий и вывода соответствующих сообщений в консоль. Обратите внимание, что операторы логического "и" и "или" могут использоваться в составных условных выражениях.
Также следует помнить, что логические операторы имеют свой порядок выполнения, который можно изменить с помощью круглых скобок. Например, выражение (a < b || c < d) && e
будет выполняться следующим образом: сначала выполнится операция сравнения a < b
, затем c < d
, затем ||
и только после этого &&
. Если нужно изменить порядок выполнения операций, можно использовать скобки, например: a < b || (c < d && e)
.
Битовые операторы
Побитовые операторы в JavaScript позволяют работать с числами на уровне их двоичного представления, а не десятичного. Ниже приведена таблица побитовых операторов в JavaScript:
& | Побитовое И | 0b1010 & 0b1100 | 0b1000 |
---|---|---|---|
| | Побитовое ИЛИ | 0b1010 | 0b1100 | 0b1110 |
^ | Побитовое исключающее ИЛИ (XOR) | 0b1010 ^ 0b1100 | 0b0110 |
~ | Побитовое НЕ (инверсия) | ~0b1010 | -0b1011 |
<< | Сдвиг влево (умножение на 2 в степени n, где n - количество раз) | 0b1010 << 1 | 0b10100 |
>> | Сдвиг вправо (деление на 2 в степени n, где n - количество раз) | 0b1010 >> 1 | 0b0101 |
>>> | Беззнаковый сдвиг вправо | 0b1010 >>> 1 | 0b0101 |
Примеры битовых операторов
Вот несколько примеров, которые помогут понять, как работают побитовые операторы:
const a = 0b1010; // 10 в двоичном представлении
const b = 0b1100; // 12 в двоичном представлении
console.log(a & b); // 0b1000 (8 в двоичном представлении)
console.log(a | b); // 0b1110 (14 в двоичном представлении)
console.log(a ^ b); // 0b0110 (6 в двоичном представлении)
console.log(~a); // -0b1011 (-11 в двоичном представлении)
console.log(a << 1); // 0b10100 (20 в двоичном представлении)
console.log(a >> 1); // 0b0101 (5 в двоичном представлении)
console.log(a >>> 1); // 0b0101 (5 в двоичном представлении)
Оператор запятая
Оператор запятая в JavaScript используется для перечисления выражений и выполнения их последовательно слева направо. Результатом оператора запятая является значение последнего выражения в списке.
let a = 1, b = 2, c = 3;
console.log(a, b, c); // Выводит: 1 2 3
let x = (1 + 2, 3 + 4, 5 + 6);
console.log(x); // Выводит: 11
let arr = [1, 2, 3], i = 0;
console.log(arr[i++], arr[i++], arr[i++]); // Выводит: 1 2 3
В первом примере определены три переменные и их значения, разделенные запятой. Во втором примере выражения (1 + 2), (3 + 4) и (5 + 6)
перечислены через запятую. Выполнение происходит последовательно слева направо, и результатом является значение последнего выражения, т.е. 11. В третьем примере массив arr и переменная i
инициализируются, затем значения элементов массива arr
выводятся по порядку, увеличивая значение переменной i
после каждого вывода. Результатом является 1 2 3.
Унарный оператор
Унарный оператор применяется к одному операнду и выполняет определенное действие с ним. Ниже приведена таблица основных унарных операторов в JavaScript:
Оператор | Описание |
---|---|
+ | Унарный плюс - преобразует операнд в число |
- | Унарный минус - меняет знак числа на противоположный |
! | Логическое НЕ - инвертирует значение операнда |
~ | Побитовое НЕ - инвертирует все биты операнда |
++ | Инкремент - увеличивает значение операнда на 1 |
-- | Декремент - уменьшает значение операнда на 1 |
typeof | Возвращает тип операнда |
void | Указывает, что функция не должна возвращать значение |
Примерны унарных операторов в JavaScript
Ниже приведены примеры использования унарных операторов в JavaScript:
let x = 5;
let y = -x; // y будет равно -5 после применения унарного минуса
let z = !x; // z будет равно false, так как операнд был приведен к логическому типу и инвертирован
let a = ~x; // a будет равно -6, так как 5 в двоичной системе записывается как 00000101, а инвертированное значение будет 11111010, что равно -6 в десятичной системе
let b = x++; // b будет равно 5, а значение переменной x увеличится на 1 и станет равным 6
let c = --x; // c будет равно 5, а значение переменной x уменьшится на 1 и станет равным 5
let d = typeof x; // d будет равно "number", так как переменная x является числом
let e = void x; // e будет равно undefined, так как оператор void указывает, что функция не должна возвращать значение