๐ Darslikning birinchi qismi: https://devlab.uz/javascript-asosiy-operatorlar-va-matematik-amallar-1qism
Tenglik =
=
operatori ham JavaScriptda alohida o'rni bor. Bu operator boshqa matematik amallardan keyin amalga (invoke) qilinadi. Masalan:
let x = 2 * 2 + 1;
console.log(x); // 5
Tahmin qilganingizde, yuqorida kodda avvalo *
va +
amallari bajarilda va shundan keyingina x
ma'lumot turiga natija biriktirildi.
Zanjir Tenglik
Ma'lumot turlarining bir-biriga biror datani o'tkazishlari. Masalan:
let a, b, c;
a = b = c = 2 + 2;
console.log(a); // 4
console.log(b); // 4
console.log(c); // 4
Avvalgi postlarimizda aytganimizdek, JavaScriptda tengliklar o'ngdan chapga amalga oshiriladi. Yuqoridagi kodni misol qilaylik. Birinchi, 2 + 2
birikmasi hisoblanadi, ya'ni 4
. Undan keyin esa, c
, b
va oxirgi bo'lib a
ma'lumot turiga natija biriktiriladi.
Matematik amallarning qisqa shakli
JavaScriptda matematik amallarni bajarilishini qisqa shakllari mavjud. Masalan, aytaylik, biz biror sonni bir vaqtning o'zida qo'shuv
va ko'paytiruv
amallari bilan miqdorini o'zgartirmoqchimiz.
let x = 2;
x = x + 4;
x = x * 6;
Buning qisqa shakli esa:
let x = 2;
x += 4; // hozirgi miqdor 6 (va bu x = x + 4 bilan bir xil)
x *= 6; // hozirgi miqdor 36 (va bu x = x * 6 bilan bir xil)
console.log(x); // 36
Increment / Decrement
JavaScriptda juda ko'p ishlatiladigan operatorlar.
Increment
- belgisi ++
, ya'ni biror songa 1
qo'shadi. Masalan:
let number = 5;
number++; // bu numer = number + 1 bilan teng
console.log(number); // 6
Decrement
- belgisi --
. Decrement sondan 1
ni ayiradi:
let number = 8;
number--; // bu number = number - 1 bilan teng
console.log(number); // 7
Lekin ++
va --
operatorlari o'zgaruvchidan avval yoki keyin turishi ham mumkin.
postfix
yokipost-increment
/decrement
:number++
yokinumber--
prefix
yokipre-increment
/decrement
:++number
yoki--number
Ularni orasida farq bormi? - Bor. Farqi, qachon biz ++
/--
lardan qaytgan natijalarni olishni xohlashimizga bog'liq. Aniqroq qilib aytsak, prefix ++/--number
holatida biz sonning yangi miqdorini o'sha zahotiyoq olamiz, lekin postfix number++/--
sonning eski miqdorini qaytaradi ya'ni u sonning miqdorini ยฑ1
ga o'zgaritiradi va yangi miqdorni "xotirasida" saqlaydi. Biz o'sha sonni keyingi marta qabul qilganimizda, yangi miqdorni ko'rishimiz mumkin.
Keling, kodda misollar bilan ko'ramiz.
let number = 2;
console.log(number++); // 2
console.log(number); // 3
Postfix holatida, number
ga 1 qo'shildi, lekin, uni qabul qilishimizdan oldin postfix
number
ning eski miqdorini qaytardi.
let number = 2;
console.log(++number); // 3
console.log(number); // 3
Yuqorida aytganimdek, prefix
sonning yangi miqdorini shu zahotiyoq qaytaradi.
Xulosa qilib aytsak:
O'zgaruvchining miqdori sizga qiziq bo'lmasa,
prefix/postfix
lar o'rtasida farq yo'qlet counter = 0; ++counter; counter++; console.log(counter); // 2 postfix/prefix bir xil funksiyani bajardi
Agar, biz sonni miqdorini o'zgartishini va shu zahotiyoq yangi natijani olishni xohlasak,
prefix
dan foydalanamiz:let counter = 1; --counter; console.log(counter); // 0
Lekin, biz sonni miqdorini o'zgaritib, uning yangi natijasidan keyinroq foydalanishni xohlasak,
postfix
ni ishlatamiz:let counter = 5; console.log(counter++); // 5 (bu qatordan keyin counter = 6)
Vergul ,
Operatorlar orasida juda kam ishlatiladigan va g'ayri-oddiy operator hisoblanadi. Vergul operatori bir nechta birikmalarni hisoblashdan ishlatiladi va no-odatiy tarafi shuki, ,
birikmalarning eng oxirgisini qaytaradi. Masalan:
let number = (4 + 6, 1 + 3);
console.log(number); // 4
E'tiboringiz uchun rahmat. Sizga foydali bo'ladi degan umiddaman. Sizga maslahatim, pastda "Subscribe to my newsletter" bo'limida email pochtangizni qoldiring va darslarni e'lon qiligandayoq pochtangizga qabul qiling.
Agar darsliklar sizga yoqayotgan bo'lsa, bizni kuzatib borishingiz mumkin: