Операторы являются неотъемлемой частью любого языка программирования, и JavaScript не исключение. Операторы — это символы, которые выполняют определенные операции над одним или несколькими операндами (значениями или переменными). В JavaScript существует множество операторов, которые можно разделить на несколько категорий.
Арифметические операторы
Арифметические операторы используются для выполнения математических операций над числовыми значениями. К ним относятся:
+
(сложение)-
(вычитание)*
(умножение)/
(деление)%
(остаток от деления)**
(возведение в степень)++
(инкремент, увеличение на 1)--
(декремент, уменьшение на 1)
Пример использования арифметических операторов:
let x = 10;
let y = 3;
console.log(x + y); // 13
console.log(x - y); // 7
console.log(x * y); // 30
console.log(x / y); // 3.3333333333333335
console.log(x % y); // 1
console.log(x ** y); // 1000
console.log(++x); // 11
console.log(--y); // 2
Операторы присваивания
Операторы присваивания используются для присваивания значения переменной. Основной оператор присваивания — =
, но также существуют составные операторы присваивания, которые комбинируют операцию и присваивание.
let x = 10; // Обычное присваивание
x += 5; // x = x + 5; x = 15
x -= 3; // x = x - 3; x = 12
x *= 2; // x = x * 2; x = 24
x /= 4; // x = x / 4; x = 6
x %= 3; // x = x % 3; x = 0
Операторы сравнения
Операторы сравнения используются для сравнения значений и возвращают логическое значение true
или false
.
==
(равно)===
(строгое равенство с учетом типа)!=
(не равно)!==
(строгое неравенство с учетом типа)>
(больше)<
(меньше)>=
(больше или равно)<=
(меньше или равно)
let x = 5;
let y = '5';
console.log(x == y); // true (сравнение значений без учета типов)
console.log(x === y); // false (строгое сравнение с учетом типов)
console.log(x != y); // false
console.log(x !== y); // true
console.log(x > 3); // true
console.log(x < 10); // true
console.log(x >= 5); // true
console.log(x <= 5); // true
Логические операторы
Логические операторы используются для объединения или инвертирования логических выражений. К ним относятся:
&&
(логическое И)||
(логическое ИЛИ)!
(логическое НЕ)
let x = 5;
let y = 10;
console.log(x < 10 && y > 5); // true (оба выражения истинны)
console.log(x > 10 || y > 5); // true (хотя бы одно выражение истинно)
console.log(!(x > 10)); // true (инвертирует выражение)
Условный (тернарный) оператор
Условный оператор ?:
является единственным оператором в JavaScript, который принимает три операнда. Он часто используется как альтернатива конструкции if...else
.
let age = 18;
let canVote = age >= 18 ? 'Можно голосовать' : 'Нельзя голосовать';
console.log(canVote); // 'Можно голосовать'
Операторы со строками
В JavaScript также есть операторы, которые работают со строками:
+
(конкатенация строк)+=
(присваивание с конкатенацией)
let str1 = 'Hello';
let str2 = 'World';
console.log(str1 + ' ' + str2); // 'Hello World'
str1 += ' ' + str2; // str1 = 'Hello World'
Битовые операторы
Битовые операторы выполняют операции на уровне битов. Они редко используются в повседневном программировании на JavaScript, но могут быть полезны в некоторых специфических случаях.
&
(битовое И)|
(битовое ИЛИ)^
(битовое исключающее ИЛИ)~
(битовое НЕ)<<
(сдвиг влево)>>
(сдвиг вправо)>>>
(сдвиг вправо с заполнением нулями)
let x = 5; // 00000000000000000000000000000101
let y = 3; // 00000000000000000000000000000011
console.log(x & y); // 00000000000000000000000000000001 (1)
console.log(x | y); // 00000000000000000000000000000111 (7)
console.log(x ^ y); // 00000000000000000000000000000110 (6)
console.log(~x); // 11111111111111111111111111111010 (-6)
console.log(x << 1); // 00000000000000000000000000001010 (10)
console.log(x >> 1); // 00000000000000000000000000000010 (2)
console.log(x >>> 1); // 00000000000000000000000000000010 (2)
Это лишь краткий обзор операторов в JavaScript. Существуют и другие операторы, такие как typeof
, instanceof
, in
, delete
и др. Подробнее о каждом операторе можно узнать в официальной документации JavaScript.