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...elseforma.// 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]); // trueinstanceof(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 yranullarbaundefined)
// left ?? right let val = undefined ?? "default"; // val bus "default"?.(optional chaining operator - saugus prieigos būdas prie savybių, jei tarpinė reikšmė yranullarbaundefined)
// object?.property?.method() let user = { address: { city: "NYC" } }; console.log(user.address?.zipCode); // undefined (be klaidos)