Asosiy operatorlar, matematika(Basic operators, math)
Bu bo'limda biz maktabda o'rgangan oddiy operatorlar, masalan, qo'shish (`+`), ko'paytirish (`*`), ayirish (`-`) va hokazolar haqida gaplashamiz.
Bu bo'limda biz maktabda o'rgangan oddiy operatorlar, masalan, qo'shish (+
), ko'paytirish (*
), ayirish (-
) va hokazolar haqida gaplashamiz. Keyinchalik, biz JavaScript dasturlash tiliga xos jihatlarga e'tibor qaratamiz.
Atamalar: “unary”, “binary”, “operand”
Avvaliga, ba'zi umumiy atamalarni tushunib olaylik.
Operand – bu operatorlar qo'llaniladigan qiymat. Masalan, 5 * 2
ko'paytmasida ikkita operand mavjud: chap operand 5, o'ng operand esa 2. Ba'zan, odamlar bu operandlarni “argument” deb ham atashadi.
Operator agar bitta operandga ega bo'lsa, unary operator deb ataladi. Masalan, unary manfiy operator (-
) sonning ishorasini teskari qiladi:
Binary operator esa ikkita operandga ega bo'ladi. Masalan, ayirish operatori:
Formal jihatdan, yuqoridagi misollarda bizda bitta belgi (–
) bilan ko'rsatilgan ikki xil operator mavjud: unary operator va binary operator.
Matematika operatsiyalari
Quyidagi matematik operatsiyalar qo'llab-quvvatlanadi:
- Qo'shish (
+
) - Ayirish (
-
) - Ko'paytirish (
*
) - Bo'lish (
/
) - Qoldiq (
%
) - Darajaga ko'tarish (
**
)
Birinchi to'rtta operatsiya oddiy, ammo %
va **
operatorlari haqida qo'shimcha tushuntirish talab etiladi.
Qoldiq (%
) operatori foizlar bilan bog'liq emas. a %
b ning natijasi a ning b ga bo'linishi natijasidagi qoldiqdir.
Misollar:
Darajaga ko'tarish (**
) operatori a ni b darajaga ko'taradi.
Misollar:
Matematika kabi, JavaScript ham kasr sonlar uchun ham darajaga ko'tarish operatorini qo'llab-quvvatlaydi.
Misol uchun, kvadrat ildiz olish ½
daraja bilan ifodalanadi:
Binary +
bilan qatorlarni birlashtirish
Odatda, +
operatori sonlarni qo'shadi. Ammo, agar binary +
qatorlarga qo'llansa, ular birlashtiriladi (kontsentasiya qilinadi):
Agar operandlardan biri qator bo'lsa, ikkinchisi ham qatorga aylantiriladi.
Masalan:
Bu holatda birinchi operand qator yoki ikkinchisi bo'lishining ahamiyati yo'q.
Unary +
bilan raqamli konversiya
Binary +
dan tashqari, unary + ham mavjud. Unary +
operatori raqamlarga ta'sir qilmaydi, ammo agar operand raqam bo'lmasa, uni raqamga aylantiradi.
Masalan:
Bu operator Number(...) funksiyasi bilan bir xil ishlaydi, ammo qisqaroq yoziladi.
Operator ustuvorligi
Agar ifoda bir nechta operatorlarga ega bo'lsa, ijro etish tartibi ularning ustuvorligiga qarab belgilanadi.
Masalan, maktabda o'rganganimizdek, 1 + 2 * 2
ifodasida ko'paytirish avvalroq bajariladi. Bu ustuvorlik masalasidir. Ko'paytirish operatorining ustuvorligi qo'shishdan yuqori.
Qavslar har qanday ustuvorlikni bekor qilishi mumkin, shuning uchun agar biz standart tartibdan qoniqmasak, qavslarni ishlatishimiz mumkin.
JavaScript-da ko'p operatorlar mavjud va har bir operatorning ustuvorlik raqami bor. Bu raqam qanchalik katta bo'lsa, operator birinchi bo'lib ishlaydi. Agar ustuvorlik bir xil bo'lsa, chapdan o'ngga tomon ijro etiladi.
Misol uchun, "+apples + +oranges" ifodasida, unary +
operatori birinchi bo'lib ishlaydi, chunki uning ustuvorligi yuqori.
Bir qatorda bir nechta o'zgaruvchilarni qiymat bilan to'ldirish
JavaScript-da o'zgaruvchilarni zanjirli ravishda qiymat bilan to'ldirish mumkin:
Bu kodda avval 2 + 2
ifodasi baholanadi va keyin barcha o'zgaruvchilarga qiymat tayinlanadi.
O'zgaruvchini joyida o'zgartirish
Operatorni o'zgaruvchiga qo'llash va natijani o'sha o'zgaruvchida saqlash kerak bo'lganda, qisqartirilgan shaklda yozish mumkin:
Increment/decrement operatorlari
JavaScript-da o'zgaruvchini birga oshirish yoki kamaytirish uchun maxsus operatorlar mavjud: ++
(increment) va --
(decrement).
Misol:
Bu operatorlar faqat o'zgaruvchilarga qo'llaniladi.
Prefiks va Postfiks shakllar
Increment/decrement operatorlari prefiks shaklida yoki postfiks shaklida bo'lishi mumkin:
Prefiks shakli yangi qiymatni, postfiks shakli esa eski qiymatni qaytaradi.
Bitwise operatorlar
Bitwise operatorlar argumentlarni 32-bitli butun sonlar sifatida ko'rib, ularning ikkilik ko'rinishida ishlaydi. Bu operatorlar JavaScriptga xos emas, lekin ko'pgina dasturlash tillarida qo'llab-quvvatlanadi.
Misol: AND (&
), OR (|
), XOR (^
), NOT (~
), LEFT SHIFT (<<
), RIGHT SHIFT (>>
), ZERO-FILL RIGHT SHIFT (>>>
).
Virgullash operatori
Virgullash operatori (,
) bir nechta ifodalarni baholashga va faqat oxirgi natijani qaytarishga imkon beradi:
Bu operator juda kam ishlatiladi va odatda kodni qisqartirish uchun ishlatiladi. Shuningdek, bu operator ustuvorligi juda past.
Shuni esda tutingki, bu operator kodni qisqartirishi mumkin, lekin har doim kodni o'qilishi uchun sodda yozishga harakat qiling.