Sobes.tech
Intern

Ҳароператорҳо дар JavaScript вуҷуд доранд?

sobes.tech AI

Ҷавоб аз 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 }
    
  • Груповий оператор ( ): Визначає порядок виконання операцій.

    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 оператор - повертає правий операнд, якщо лівий null або undefined)
    // left ?? right
    let val = undefined ?? "default"; // val буде "default"
    
    • ?. (optional chaining оператор - безпечний доступ до властивостей у ланцюжку, якщо проміжне значення null або undefined)
    // object?.property?.method()
    let user = { address: { city: "NYC" } };
    console.log(user.address?.zipCode); // undefined (без помилки)