tartibli nominal davomiy | | | guruh turlanish masofaviy
Ya'ni: Primtive
1. String. (satirlarning ID dagi "qiymat");
2.Number. (raqamlar ID dagi: qiymat);
3.Boolen. ( qiymatlarni (value) inkor qilish yoki tasdiqlash-(true,false);
4.Undefined.(aniqlnmagan),berilgan funksiyaning parmetri mavjud,lekin qiymati berilmagn.Bu holat undefined deyiladi;
5.Null.( obyekt yo’qligi haqida berilgan qiymat, yoki obyekt ichidagi aniqlangan qiymatning yo’qligi.);
6.bigInt. (Cheksiz sig'imdagi integerlar ustida qo'shish, ayirish, bo'lish, ko'paytirish va daraja amallarini bajarish. Internetdagi ma'lumotlar tipida taxminan 232 dan 264 xonalikgacha bo'lan raqamlarni saqlash mumkin bu esa cheksiz deani emas);
7.Symbol.(ramzlar. Ichidagi ma'lumotlar bir xil bo'lsa ham, bir-biriga teng bo'lmagan qiymatlarni yaratish uchun ishlatiladi.);
Non Primtive:
1.Object (primitive tiplar o’zida qiymatini saqlasa, Objectlar esa o’zida referencesaqlaydi.);
JavaScriptimizda xotira mavjud, bu xotirada biz ochgan o’zgaruvchilarimiz saqlanib boradi.Ushbu o'zgaruvchi amallarni saqlab boruvchi CALL STACK va HEAP:
CallStack - bu biz chaqiradigan barcha funktsiya chaqiruvlarini o'z ichiga olgan ma'lumotlar tuzilmas. Call stack(xotiramiz)da qiymatni o’zini emas, balki o’sha qiymatni Heapdagi addressini ko’rsatib yuboradi.
newVar- bu (o'zgaruvchi nomi);
0012CCGWH80- (o'zaruvchining manzil CALL STACK ochgan (ID));
23VVCA020 – bu esa tepadagi manzilda turgan qiymat, (Bu Heap ga yo’naltirilgan manzil);
Objectlarning «reference type» deyilishiga asosiy sabab, ular Call stack(xotiramiz)da qiymatni o’zini emas, balki o’sha qiymatni Heap deb atalgan joydagi Addressini ko’rsatib yuboradi.
Bu holatda:
let newVar = 20; let newVar2 = newVar; let newVar2 = 22;
Natijani ko'rishda: console.log(neVar2) javob beradi: 22;
Tushuntirib bersam newVar ni new Var2 ga tenglashtirdim.Natijada newVar2 ning qiymatiga newVar ning qiymati ham o'zardi.
1.newVar o'zida heap manzilini (ID)ni saqlagan;
2.newVar ni newVar2 ga tenglashtirganimizda, heap dagi newVar ga teng bo'ldi. shu xolat ya'ni newVar, newVar2 a teng bo'lishi va heapga o'tkzib yuborilish "reference" deyiladi.
O'zgaruvchilarni e'lon qilish uchun (var) va (let) kalit so'zlarida foydalaniladi. (const).
O'zgaruvchilar - bu ma'lumotlarni saqlash uchun konteynerlar bo'lib,
o'zgaruvchilarnni var, let, const bilan e'lon qilinadi.
var- var age = 22;
var name = "Aziz".
let- let x = 15; let z = "uzbek".
Agarda loyihangizda butunlay o'zgarmas holatni yoki yo'nalishda yozmoqchi bo'lgan qismni, buyurtmachi istagida keyinchalik ham o'zgartirish kiritilmaydigan umumiy holat yoki qoidalarni (const) bilan yoziladi.