JavaScript Operatorlar Ustivorligi (Operator Precedence)
Amallar tartibi
Operatorlar ustivorligi arifmetik ifodada amallar bajariladigan tartibni tavsiflaydi. Ko'paytirish (*) va bo'lish (/) qo'shish (+) va ayirish (-) dan yuqoriroq ustunlikka ega.
An'anaviy matematikadagidek, ko'paytirish birinchi bajariladi:
let x = 100 + 50 * 3Qavslardan foydalanganda, qavslar ichidagi amallar birinchi hisoblanadi:
let x = (100 + 50) * 3Bir xil ustunlikka ega amallar (masalan * va /) chapdan o'ngga hisoblanadi:
let x = (100 / 50) * 3Operator ustunlik qiymatlari
Qavslar ichidagi ifodalar qolgan ifodadan oldin hisoblanadi. Funksiyalar natija ifodaning qolgan qismida ishlatilishidan oldin bajariladi.
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 18 | ( ) | Ifodani guruhlash | (100 + 50) * 3 |
| 17 | . | A'zo | person.name |
| 17 | [] | A'zo | person["name"] |
| 17 | ?. | Ixtiyoriy zanjir (ES2020) | x ?. y |
| 17 | () | Funksiya chaqiruv | myFunction() |
| 17 | new | Argumentli new | new Date("June 5,2022") |
| 16 | new | Argumentsiz new | new Date() |
Oshirish operatorlari
Postfiks oshirishlar prefiks oshirishlardan oldin bajariladi
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 15 | ++ | Postfiks oshirish | i++ |
| 15 | -- | Postfiks kamaytirish | i-- |
| 14 | ++ | Prefiks oshirish | ++i |
| 14 | -- | Prefiks kamaytirish | --i |
NOT operatorlari
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 14 | ! | Mantiqiy NOT | !(x==y) |
| 14 | ~ | Bitli NOT | ~x |
Unar operatorlar
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 14 | + | Unar plyus | +x |
| 14 | - | Unar minus | -x |
| 14 | typeof | Ma'lumot turi | typeof x |
| 14 | void | Void baholash | void(0) |
| 14 | delete | Xususiyat o'chirish | delete myCar.color |
Arifmetik operatorlar
Darajaga ko'tarishlar ko'paytirishlardan oldin bajariladi. Ko'paytirish va bo'lishlar qo'shish va ayirishlardan oldin bajariladi.
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 13 | ** | Darajaga ko'tarish (ES2016) | 10 ** 2 |
| 12 | * | Ko'paytirish | 10 * 5 |
| 12 | / | Bo'lish | 10 / 5 |
| 12 | % | Bo'lish qoldig'i | 10 % 5 |
| 11 | + | Qo'shish | 10 + 5 |
| 11 | - | Ayirish | 10 - 5 |
| 11 | + | Birlashtirish | "John" + "Doe" |
Surish operatorlari
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 10 | << | Chapga surish | x << 2 |
| 10 | >> | O'ngga surish (ishorali) | x >> 2 |
| 10 | >>> | O'ngga surish (ishorasiz) | x >>> 2 |
Munosabat operatorlari
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 9 | in | Obyektdagi xususiyat | "PI" in Math |
| 9 | instanceof | Obyekt instansiyasi | x instanceof Array |
Taqqoslash operatorlari
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 9 | < | Kichik | x < y |
| 9 | <= | Kichik yoki teng | x <= y |
| 9 | > | Katta | x > y |
| 9 | >= | Katta yoki teng | x >= y |
| 8 | == | Teng | x == y |
| 8 | === | Qat'iy teng | x === y |
| 8 | != | Teng emas | x != y |
| 8 | !== | Qat'iy teng emas | x !== y |
Bitli operatorlar
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 7 | & | Bitli AND | x & y |
| 6 | ^ | Bitli XOR | x ^ y |
| 5 | | | Bitli OR | x | y |
Mantiqiy operatorlar
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 4 | && | Mantiqiy AND | x && y |
| 3 | || | Mantiqiy OR | x || y |
| 3 | ?? | Nullish Coalescing (ES2020) | x ?? y |
Shartli (ternar) operator
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 2 | ? : | Shart | ? "ha" : "yo'q" |
Tayinlash operatorlari
Tayinlashlar boshqa amallardan keyin bajariladi
| Qiymat | Operator | Tavsif | Misol |
|---|---|---|---|
| 2 | = | Oddiy tayinlash | x = y |
| 2 | : | Ikki nuqta tayinlash | x: 5 |
| 2 | += | Qo'shish tayinlash | x += y |
| 2 | -= | Ayirish tayinlash | x -= y |
| 2 | *= | Ko'paytirish tayinlash | x *= y |
| 2 | **= | Daraja tayinlash | x **= y |
| 2 | /= | Bo'lish tayinlash | x /= y |
| 2 | %= | Qoldiq tayinlash | x %= y |
| 2 | <<= | Chapga surish tayinlash | x <<= y |
| 2 | >>= | O'ngga surish tayinlash | x >>= y |
| 2 | >>>= | Ishorasiz o'ngga surish | x >>>= y |
| 2 | &= | Bitli AND tayinlash | x &= y |
| 2 | |= | Bitli OR tayinlash | x |= y |
| 2 | ^= | Bitli XOR tayinlash | x ^= y |
| 2 | &&= | Mantiqiy AND tayinlash | x &&= y |
| 2 | ||= | Mantiqiy OR tayinlash | x ||= y |
| 2 | => | Arrow | x => y |
| 2 | yield | Pauza / Davom | yield x |
| 2 | yield* | Delegat | yield* x |
| 2 | ... | Spread | ... x |
| 1 | , | Vergul | x , y |
