Tiplar Siz JavaScriptni tipizatsiyaga EGA emas deb eshitgan bo’lishingiz mumkin. Oldin ham ta’kidlaganimdek, bu mutlaqo noto’g’ri. JavaScript tipizatsiyaga ega, va aynan “dinamik tipizatsiya” xususiyatida ishlaydi
Tiplar Siz JavaScriptni tipizatsiyaga ega emas deb eshitgan bo’lishingiz mumkin. Oldin ham ta’kidlaganimdek, bu mutlaqo noto’g’ri. JavaScript tipizatsiyaga ega, va aynan “dinamik tipizatsiya” xususiyatida ishlaydi. Bu degani, siz bir o’zgaruvchiga istalgan turdagi tipni o’zlashtirishingiz mumkin. JavaScriptda ikki xil tiplar mavjud: oddiy va murakkab tiplar.
Oddiy tiplar Oddiy tiplarga quyidagilar kiradi:
Sonlar
Qatorlar
Mantiqiy tiplar
Shuningdek, ikkita maxsus tiplar ham mavjud:
null
undefined (noaniq)
Keling, har birini alohida ko’rib chiqamiz.
Sonlar JavaScriptda sonlarning faqat bir turi mavjud, bu ham bo’lsa haqiqiy sonlardir.
Sonli literallar raqam ko’rinishida dasturda yoziladi va qanday yozilishiga qarab butun yoki haqiqiy sondagi literal bo’lishi mumkin.
Butun sonlar:
20
546984621654984
0xCC // 16 lik son
Haqiqiy sonlar:
3.14
.1234
5.2e4
Qatorlar Qator bu belgilar ketma-ketligidir. Dastur kodida qator literali orqali ifodalanadi va qo’shtirnoq — “” yoki tirnoq ‘’ belgilari bilan yopiladi.
‘qator’
“matn”
JavaScriptda qatorlarni bir necha qatorda ifodalash uchun \ belgidan foydalaniladi.
“Hammasi bir \
qator”
Shuningdek, \ belgidan qator orasida ‘’ yoki “” dan foydalanish uchun qo’llash mumkin. Bu yuqoridagi belgilarni qatorni ochib-yopuvchi begilardan ajratib turadi.
‘O\’zbekiston’
Qatorlar + operatori orqali birikishi mumkin.
Qator shabloni ES2015 da qo’shilgan bo’lib, qatorlar bilan ishlashda yangi imkoniyatlar taqdim etadi.
Qatorda ${ } orasiga ifoda berib, shablon yaratib ketish mumkin. Masalan, shablonlarsiz:
var a = 5
var b = 10
console.log(‘Ko\’paytma ‘ + (a * b) + ‘ ga teng.’)
// Ko’paytma 50 ga teng
Xuddi shuni shablondan foydalanib yozamiz:
var a = 5
var b = 10
console.log(‘Ko\’paytma ${a * b} ga teng.’
// Ko’paytma 50 ga teng
Mantiqiy tip JavaScript mantiqiy tiplarni ifodalash uchun true yoki false kalit so’zlaridan foydalanadi. Taqqoslash operatorlari (===, ==, <, >) yuqoridagi ikkisidan birini natija sifatida qaytaradi.
if, whilekabi tekshiruvchi operatorlar dastur jarayonida mantiqiy tiplardan foydalanadi.
Mantiqiy qiymat ifodani faqat aniq rost yoki yolg’onligida emas, balki rostr yoki yolg’onga yaqin ekanligiga qarab ham aniqlab oladi. Masalan, quyidagi qiymatlarning barchasi yolg’onga yaqin bo’lgani uchun falseqiymati olinadi:
0
-0
NaN
undefined
null
‘’ // bo’sh qator
Qolgan barcha holatlarda true olinadi.
null null hech qanday qiymat yo’qligini bildiruvchi maxsus qiymat.
Bu qiymat deyarli barcha dasturlash tillarida uchraydi. Masalan Pythonda None shaklida uchraydi.
undefined undefined o’zgaruvchini initsializatsiya qilinmaganligi va qiymat noaniq ekanligini bildiradi.
Funksiyaning qaytaruvchi qiymati bo’lmaganda undefinedqaytaradi. Shuningdek, funksiya parametri mavjud bo’lsa, lekin funksiya chaqirilganda unga qiymat yuborilmasa, funksiya parametrlarni undefined holatiga o’tkizadi.
Qiymatni undefined ekanligi quyidagicha tekshiriladi:
typeof var === ‘undefined’
Murakkab tiplar Yuqorida sanab o’tilgan tiplardan boshqa hammasi murakkab tiplar hisoblanadi. Bular funksiyalar, massivlar va obyektlar. Har birining o’ziga xos jihatlari bor, shuningdek ular obyektni xususiyatlariga ham egalik qiladi.