Sobes.tech
Intern

Aké operátory existujú v JavaScript?

sobes.tech AI

Odpoveď od AI

V JavaScripte obstaja več vrst operatorjev, ki izvajajo različne funkcije:

  • Operatorji za dodeljevanje: Dodeljujejo vrednost spremenljivki.

    • = (preprosto dodeljevanje)
    • +=, -=, *=, /=, %= (sestavljeni operatorji dodeljevanja)
    • **= (dodeljevanje z dvigom na potenco)
    • <<=, >>=, >>>= (dodeljevanje z zamikom)
    • &=, |=, ^= (bitni operatorji dodeljevanja)
    • &&=, ||=, ??= (logično dodeljevanje)
  • Operatorji za primerjavo: Primerjajo dve vrednosti in vrnejo boolean.

    • == (enakost)
    • != (neenakost)
    • === (stroga enakost)
    • !== (stroga neenakost)
    • > (večje)
    • < (manjše)
    • >= (večje ali enako)
    • <= (manjše ali enako)
  • Aritmetični operatorji: Izvajajo matematične operacije.

    • + (seštevanje)
    • - (odštevanje)
    • * (množenje)
    • / (deljenje)
    • % (ostanek pri deljenju)
    • ** (dvig na potenco)
    • ++ (inkrement)
    • -- (dekrement)
  • Bitovni operatorji: Izvajajo operacije na ravni posameznih bitov števila.

    • & (bitovni AND)
    • | (bitovni OR)
    • ^ (bitovni izključni OR)
    • ~ (bitovni NOT)
    • << ( levi zamik)
    • >> (desni zamik z ohranitvijo znaka)
    • >>> (desni zamik z zapolnitvijo z ničlami)
  • Logični operatorji: Združujejo ali invertirajo boolean vrednosti.

    • && (logično AND)
    • || (logično OR)
    • ! (logično NOT)
  • String operatorji: Delajo s nizi.

    • + (konkatenacija)
  • Ternarni (pogojni) operator: Kratka oblika if...else.

    // pogoj ? izraz1 : izraz2
    let result = (a > b) ? "a je večje od b" : "b je večje ali enako a";
    
  • Operator vejice: Izvede več izrazov in vrne vrednost zadnjega.

    let x = 0;
    let y = (x++, 5); // x postane 1, y postane 5
    
  • Operatorji za odnos: Preverjajo tip in obstoj lastnosti.

    • in (preveri, ali lastnost obstaja v objektu)
    // 'propertyName' in object
    console.log('length' in [1, 2, 3]); // true
    
    • instanceof (preveri, ali je objekt primerka razreda)
    // object instanceof className
    function Car() {}
    let myCar = new Car();
    console.log(myCar instanceof Car); // true
    
  • Unarni operator plus in minus:

    • + (pretvori operand v število)
    console.log(+"5"); // 5 (število)
    
    • - (pretvori operand v število in invertira znak)
    console.log(-"10"); // -10 (število)
    
  • Operatorji za tip:

    • typeof (vrne niz, ki kaže na tip operand)
    // typeof operand
    console.log(typeof 42); // "number"
    console.log(typeof "hello"); // "string"
    
    • delete (odstrani lastnost iz objekta ali element iz niza)
    // delete object.property
    // delete array[index]
    let obj = { a: 1, b: 2 };
    delete obj.a;
    console.log(obj); // { b: 2 }
    
  • Skupinski operator ( ): Določa vrstni red izvajanja operacij.

    let z = (2 + 3) * 4; // Izračuni v oklepajih se izvajajo prvi
    
  • Operator new: Ustvari nov primerek objekta.

    // new Constructor([arguments])
    let date = new Date();
    
  • Operator super: Pokliče metodo starševskega razreda.

    class Parent {
      greet() {
        console.log("Hello from Parent");
      }
    }
    class Child extends Parent {
      greet() {
        super.greet(); // Klic metode starša
        console.log("Hello from Child");
      }
    }
    
  • Operator this: Sklicuje se na trenutni kontekst izvajanja.

  • Operator void: Izvede izraz in vrne undefined.

    // void expression
    console.log(void 0); // undefined
    
  • Operatorji nullish coalescing in optional chaining:

    • ?? (nullish coalescing operator - vrne desni operand, če je levi null ali undefined)
    // left ?? right
    let val = undefined ?? "default"; // val bo "default"
    
    • ?. (optional chaining operator - varen dostop do lastnosti v verigi, če je vmesna vrednost null ali undefined)
    // object?.property?.method()
    let user = { address: { city: "NYC" } };
    console.log(user.address?.zipCode); // undefined (brez napake)