Sobes.tech
Intern

JavaScriptda qanday operatorlar mavjud?

sobes.tech AI

AIdan javob

JavaScriptda turli funktsiyalarni bajaradigan bir nechta operator turlari mavjud:

  • Tayinlash operatorlari: O'zgaruvchiga qiymat tayinlaydi.

    • = (oddiy tayinlash)
    • +=, -=, *=, /=, %= (kengaytirilgan tayinlash)
    • **= (darajaga ko'tarish bilan tayinlash)
    • <<=, >>=, >>>= (siljish bilan tayinlash)
    • &=, |=, ^= (baytli operatsiyalar bilan tayinlash)
    • &&=, ||=, ??= (mantiqiy tayinlash)
  • Solishtirish operatorlari: Ikki qiymatni solishtiradi va mantiqiy qiymatni qaytaradi.

    • == (tenglik)
    • != (teng emaslik)
    • === (qattiq tenglik)
    • !== (qattiq teng emaslik)
    • > (katta)
    • < (kichik)
    • >= (katta yoki teng)
    • <= (kichik yoki teng)
  • Aritmetika operatorlari: Matematik amallarni bajaradi.

    • + (qo'shish)
    • - (ayirish)
    • * (ko'paytirish)
    • / (bo'lish)
    • % (qoldiq)
    • ** (darajaga ko'tarish)
    • ++ (inkrement)
    • -- (dekrement)
  • Baytli operatorlar: Raqamning alohida bitlari bilan amallarni bajaradi.

    • & (baytli AND)
    • | (baytli OR)
    • ^ (baytli XOR)
    • ~ (baytli NOT)
    • << (chapga siljish)
    • >> (o'ngga siljish, belgi saqlanadi)
    • >>> (o'ngga siljish, nol bilan to'ldiriladi)
  • Mantiqiy operatorlar: Boolean qiymatlarni birlashtiradi yoki teskari qiladi.

    • && (mantiqiy AND)
    • || (mantiqiy OR)
    • ! (mantiqiy NOT)
  • Satrlash operatorlari: Satrlarga ishlov beradi.

    • + (qo'shish, birlashtirish)
  • Shartli (ternar) operator: if...else qisqacha shakli.

    // shart ? ifoda1 : ifoda2
    let natija = (a > b) ? "a katta b" : "b katta yoki teng a";
    
  • Vergul operatori: Bir nechta ifodani bajaradi, oxirgi qiymatni qaytaradi.

    let x = 0;
    let y = (x++, 5); // x 1 ga oshadi, y 5 bo'ladi
    
  • Nisbat operatorlari: Turi va xususiyatlar mavjudligini tekshiradi.

    • in (xususiyat mavjudligini tekshiradi)
    // 'propertyName' in object
    console.log('length' in [1, 2, 3]); // true
    
    • instanceof (obyekt klassdanmi tekshiradi)
    // object instanceof className
    function Car() {}
    let myCar = new Car();
    console.log(myCar instanceof Car); // true
    
  • Unar operatorlar:

    • + (operandni raqamga o'zgartiradi)
    console.log(+"5"); // 5 (raqam)
    
    • - (operandni raqamga o'zgartiradi va belgisini teskari qiladi)
    console.log(-"10"); // -10 (raqam)
    
  • Turi operatorlari:

    • typeof (operandning turini ko'rsatadigan satrni qaytaradi)
    // typeof operand
    console.log(typeof 42); // "number"
    console.log(typeof "hello"); // "string"
    
    • delete (obyekt xususiyatini yoki massiv elementini o'chiradi)
    // delete object.property
    // delete array[index]
    let obj = { a: 1, b: 2 };
    delete obj.a;
    console.log(obj); // { b: 2 }
    
  • Guruh operatori (): Amallar tartibini belgilaydi.

    let z = (2 + 3) * 4; // Qavs ichidagi amallar birinchi bajariladi
    
  • Yangi operator: Ob'ekt nusxasini yaratadi.

    // new Constructor([arguments])
    let date = new Date();
    
  • super operatori: Ota klass metodini chaqiradi.

    class Parent {
      greet() {
        console.log("Hello from Parent");
      }
    }
    class Child extends Parent {
      greet() {
        super.greet(); // ota metodini chaqirish
        console.log("Hello from Child");
      }
    }
    
  • this operatori: Hozirgi bajarilayotgan kontekstga murojaat qiladi.

  • void operatori: Ifodani bajaradi va undefined qaytaradi.

    // void expression
    console.log(void 0); // undefined
    
  • Nullish coalescing va optional chaining operatorlari:

    • ?? (nullish coalescing operatori - chap operand null yoki undefined bo'lsa, o'ng operandni qaytaradi)
    // left ?? right
    let val = undefined ?? "default"; // val "default" bo'ladi
    
    • ?. (optional chaining operatori - xavfsiz kirish, agar o'rtadagi qiymat null yoki undefined bo'lsa, xatolik bermaydi)
    // object?.property?.method()
    let user = { address: { city: "NYC" } };
    console.log(user.address?.zipCode); // undefined (xatoliksiz)