Sobes.tech
Intern

Koji operatori postoje u JavaScriptu?

sobes.tech АИ

Одговор од АИ

У Јавскрипту постоји неколико типова оператора који извршавају различите функције:

  • Оператори доделе: Додељују вредност променљивој.

    • = (једноставно додељивање)
    • +=, -=, *=, /=, %= (композитни оператори доделе)
    • **= (додела уз степеновање)
    • <<=, >>=, >>>= (додела са померањем)
    • &=, |=, ^= (битови оператори доделе)
    • &&=, ||=, ??= (логичка додела)
  • Оператори поређења: Поређују две вредности и враћају булеву вредност.

    • == (једнакост)
    • != (неједнакост)
    • === (строга једнакост)
    • !== (строга неједнакост)
    • > (веће)
    • < (мање)
    • >= (веће или једнако)
    • <= (мање или једнако)
  • Арифметички оператори: Извршавају математичке операције.

    • + (збир)
    • - (разлика)
    • * (помножак)
    • / (делилац)
    • % (остата од делења)
    • ** (степеновање)
    • ++ (инкремент)
    • -- (декремент)
  • Битови оператори: Извршавају операције на нивоу појединачних битова броја.

    • & (битовско И)
    • | (битовско ИЛИ)
    • ^ (битовско искључиво ИЛИ)
    • ~ (битовско НЕ)
    • << (леви померањe)
    • >> (десни померањe са очувањем знака)
    • >>> (десни померањe са попуњавањем нулама)
  • Логички оператори: Обједињују или инвертују булеве вредности.

    • && (логичко И)
    • || (логичко ИЛИ)
    • ! (логичко НЕ)
  • Стринг оператори: Рад са низовима.

    • + (конкатенација)
  • Условни (тернарни) оператор: Кратки облик 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 (без грешке)