Назад к вопросам
Intern
81
questionbank

Какие операторы существуют в 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]); // true
    
    • instanceof (проверяет, является ли объект экземпляром класса)
    // 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 (без ошибки)