Sobes.tech
Intern

Kokie operatoriai yra JavaScript?

sobes.tech AI

Atsakymas iš AI

JavaScript'e yra keletas operatorių tipų, atliekantys įvairias funkcijas:

  • Priskyrimo operatoriai: priskiria reikšmę kintamajam.

    • = (paprastas priskyrimas)
    • +=, -=, *=, /=, %= (sudėtinis priskyrimas)
    • **= (kelimo laipsniu priskyrimas)
    • <<=, >>=, >>>= (perstumimo priskyrimas)
    • &=, |=, ^= (bitų operacijų priskyrimas)
    • &&=, ||=, ??= (loginis priskyrimas)
  • Lyginimo operatoriai: lygina dvi reikšmes ir grąžina loginę reikšmę.

    • == (lygumas)
    • != (nelygumas)
    • === (griežtas lygumas)
    • !== (griežtas nelygumas)
    • > (daugiau)
    • < (mažiau)
    • >= (daugiau arba lygus)
    • <= (mažiau arba lygus)
  • Aritmetiniai operatoriai: atlieka matematines operacijas.

    • + (sudėtis)
    • - (atimtis)
    • * (daugyba)
    • / (dalyba)
    • % (liekana)
    • ** (kelimo laipsniu)
    • ++ (padidinimas vienetu)
    • -- (sumazinimas vienetu)
  • Bitų operatoriai: atlieka operacijas atskirų bitų lygyje.

    • & (bitų ir)
    • | (bitų arba)
    • ^ (bitų išskirtinis arba)
    • ~ (bitų ne)
    • << (kairysis perstumimas)
    • >> (dešinysis perstumimas su ženklu išsaugojimu)
    • >>> (dešinysis perstumimas su nuliais)
  • Loginiai operatoriai: jungia arba invertuoja loginę reikšmę.

    • && (loginis ir)
    • || (loginis arba)
    • ! (ne)
  • Eilutės operatoriai: dirba su eilutėmis.

    • + (konkatenacija)
  • Sąlyginis (ternarinis) operatorius: trumpa if...else forma.

    // sąlyga ? išraiška1 : išraiška2
    let result = (a > b) ? "a yra didesnis" : "b yra didesnis arba lygus a";
    
  • Kablelio operatorius: atlieka kelias išraiškas, grąžindamas paskutinės reikšmę.

    let x = 0;
    let y = (x++, 5); // x tampa 1, y tampa 5
    
  • Santykiniai operatoriai: tikrina tipą ir savybes.

    • in (tikrina ar savybė egzistuoja objekte)
    // 'propertyName' in object
    console.log('length' in [1, 2, 3]); // true
    
    • instanceof (tikrina ar objektas yra klasės egzempliorius)
    // object instanceof className
    function Car() {}
    let myCar = new Car();
    console.log(myCar instanceof Car); // true
    
  • Unariniai pliuso ir minuso operatoriai:

    • + (paverčia operandą į skaičių)
    console.log(+"5"); // 5 (skaičius)
    
    • - (paverčia operandą į skaičių ir invertuoja ženklą)
    console.log(-"10"); // -10 (skaičius)
    
  • Tipų operatoriai:

    • typeof (grąžina eilutę, nurodančią operandų tipą)
    // typeof operand
    console.log(typeof 42); // "number"
    console.log(typeof "hello"); // "string"
    
    • delete (pašalina objekto savybę arba masyvo elementą)
    // delete object.property
    // delete array[index]
    let obj = { a: 1, b: 2 };
    delete obj.a;
    console.log(obj); // { b: 2 }
    
  • Grupavimo operatorius ( ): nustato operacijų vykdymo tvarką.

    let z = (2 + 3) * 4; // Pirmiausia vykdomi skliaustuose esantys skaičiavimai
    
  • Naujo objekto kūrimo operatorius: sukuria objekto egzempliorių.

    // new Constructor([arguments])
    let date = new Date();
    
  • Super operatorius: iškviečia tėvų klasės metodą.

    class Parent {
      greet() {
        console.log("Hello from Parent");
      }
    }
    class Child extends Parent {
      greet() {
        super.greet(); // Tėvų metodo iškvietimas
        console.log("Hello from Child");
      }
    }
    
  • This operatorius: nurodo dabartinį vykdymo kontekstą.

  • Void operatorius: vykdo išraišką ir grąžina undefined.

    // void išraiška
    console.log(void 0); // undefined
    
  • Nullish coalescing ir optional chaining operatoriai:

    • ?? (nullish coalescing operator - grąžina dešinį operandą, jei kairysis yra null arba undefined)
    // left ?? right
    let val = undefined ?? "default"; // val bus "default"
    
    • ?. (optional chaining operator - saugus prieigos būdas prie savybių, jei tarpinė reikšmė yra null arba undefined)
    // object?.property?.method()
    let user = { address: { city: "NYC" } };
    console.log(user.address?.zipCode); // undefined (be klaidos)