Какие операторы существуют в JavaScript?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
В JavaScript существует несколько типов операторов, выполняющих различные функции:
-
Операторы присваивания: Присваивают значение переменной.
=(простое присваивание)+=,-=,*=,/=,%=(составные присваивания)**=(присваивание с возведением в степень)<<=,>>=,>>>=(присваивание со сдвигом)&=,|=,^=(присваивание с побитовыми операциями)&&=,||=,??=(логическое присваивание)
-
Операторы сравнения: Сравнивают два значения и возвращают булево значение.
==(равенство)!=(неравенство)===(строгое равенство)!==(строгое неравенство)>(больше)<(меньше)>=(больше или равно)<=(меньше или равно)
-
Арифметические операторы: Выполняют математические операции.
+(сложение)-(вычитание)*(умножение)/(деление)%(остаток от деления)**(возведение в степень)++(инкремент)--(декремент)
-
Побитовые операторы: Выполняют операции на уровне отдельных битов числа.
&(побитовое И)|(побитовое ИЛИ)^(побитовое исключающее ИЛИ)~(побитовое НЕ)<<(левый сдвиг)>>(правый сдвиг с сохранением знака)>>>(правый сдвиг с заполнением нулями)
-
Логические операторы: Объединяют или инвертируют булевы значения.
&&(логическое И)||(логическое ИЛИ)!(логическое НЕ)
-
Строковые операторы: Работают со строками.
+(конкатенация)
-
Условный (тернарный) оператор: Краткая форма
if...else.// условие ? выражение1 : выражение2 let result = (a > b) ? "a больше b" : "b больше или равно a"; -
Оператор запятая: Выполняет несколько выражений, возвращая значение последнего.
let x = 0; let y = (x++, 5); // x становится 1, y становится 5 -
Операторы отношения: Проверяют тип и наличие свойств.
in(проверяет наличие свойства в объекте)
// 'propertyName' in object console.log('length' in [1, 2, 3]); // trueinstanceof(проверяет, является ли объект экземпляром класса)
// object instanceof className function Car() {} let myCar = new Car(); console.log(myCar instanceof Car); // true -
Операторы унарного плюса и минуса:
+(преобразует операнд в число)
console.log(+"5"); // 5 (число)-(преобразует операнд в число и инвертирует знак)
console.log(-"10"); // -10 (число) -
Операторы типа:
typeof(возвращает строку, указывающую тип операнда)
// typeof operand console.log(typeof 42); // "number" console.log(typeof "hello"); // "string"delete(удаляет свойство объекта или элемент массива)
// delete object.property // delete array[index] let obj = { a: 1, b: 2 }; delete obj.a; console.log(obj); // { b: 2 } -
Оператор group ( ): Определяет порядок выполнения операций.
let z = (2 + 3) * 4; // Вычисления в скобках выполняются первыми -
Оператор new: Создает экземпляр объекта.
// new Constructor([arguments]) let date = new Date(); -
Оператор super: Вызывает метод родительского класса.
class Parent { greet() { console.log("Hello from Parent"); } } class Child extends Parent { greet() { super.greet(); // Вызов метода родителя console.log("Hello from Child"); } } -
Оператор this: Ссылается на текущий контекст выполнения.
-
Оператор void: Выполняет выражение и возвращает
undefined.// void expression console.log(void 0); // undefined -
Операторы nullish coalescing и optional chaining:
??(nullish coalescing operator - возвращает правый операнд, если левый равенnullилиundefined)
// left ?? right let val = undefined ?? "default"; // val будет "default"?.(optional chaining operator - безопасный доступ к свойствам в цепочке, если промежуточное значение равноnullилиundefined)
// object?.property?.method() let user = { address: { city: "NYC" } }; console.log(user.address?.zipCode); // undefined (без ошибки)