Операторы и выражения в JavaScript
JavaScript

Операторы и выражения в JavaScript

Razilator

В 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 & 0b11000b1000
|Побитовое ИЛИ0b1010 | 0b11000b1110
^Побитовое исключающее ИЛИ (XOR)0b1010 ^ 0b11000b0110
~Побитовое НЕ (инверсия)~0b1010-0b1011
<<Сдвиг влево (умножение на 2 в степени n, где n - количество раз)0b1010 << 10b10100
>>Сдвиг вправо (деление на 2 в степени n, где n - количество раз)0b1010 >> 10b0101
>>>Беззнаковый сдвиг вправо0b1010 >>> 10b0101

Примеры битовых операторов

Вот несколько примеров, которые помогут понять, как работают побитовые операторы:

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 указывает, что функция не должна возвращать значение
;