TypeScript asosiy tiplar: string, number, boolean
O’zgaruvchi yaratilganda unga qanday qiymat tushishi mumkinligi belgilanadi. Matn saqlaydigan o’zgaruvchiga son tushib qolsa, buni TypeScript darhol aytadi.
Bu darsda uchta asosiy tip va bo’sh qiymatlar bilan ishlashni ko’ramiz.
Uchta asosiy tip
const cityName: string = "Toshkent";
const population: number = 2900000;
const isCapital: boolean = true;
console.log(cityName, population, isCapital);
console.log(typeof cityName, typeof population, typeof isCapital);
Ishga tushirilganda:
Toshkent 2900000 true
string number boolean
Yozilishi oddiy: o’zgaruvchi nomidan keyin ikki nuqta, so’ng tip nomi.
| Tip | Nimani saqlaydi | Misol |
|---|---|---|
string |
Matn | "Toshkent", 'a', `salom` |
number |
Butun va kasr son | 42, 19.99, -7 |
boolean |
Rost yoki yolg’on | true, false |
Ma’lumot turlari darsida typeof
operatorini ko’rgansiz. Diqqat qiling: typeof dastur ishlayotganda
ishlaydi, tip izohi esa undan oldin tekshiriladi. Ikkalasi turli
paytda yashaydi.
Tip chiqarish — ko’p holda yozish shart emas
Tip izohisiz ham TypeScript tipni biladi:
// TypeScript buni number deb biladi
let temperature = 18;
temperature = 25; // ruxsat
temperature = "issiq"; // xato
Oxirgi qator shunday xabar beradi:
example.ts(5,1): error TS2322: Type 'string' is not assignable to type 'number'.
TypeScript 18 qiymatidan tipni o’zi aniqladi va o’zgaruvchini
umrbod number deb belgiladi.
const va let farqi tipda ham ko’rinadi
let mutableCity = "Toshkent"; // tipi: string
const fixedCity = "Toshkent"; // tipi: "Toshkent"
Farq nozik, lekin mantiqiy. let o’zgaruvchisiga keyin boshqa matn
tushishi mumkin, shuning uchun tip keng — string. const esa hech
qachon o’zgarmaydi, demak uning tipi aynan o’sha qiymatning o’zi.
Bunga literal tip deyiladi va u union va literal darsida asosiy vositaga aylanadi.
Qachon tip yozish kerak
Qoida ikki bandli:
- Qiymat darhol berilsa — yozmang, TypeScript o’zi biladi;
- Qiymat keyin berilsa — yozing, aks holda TypeScript bila olmaydi.
// Yozish ortiqcha — qiymat shu yerda turibdi
const userName = "Aziz";
// Yozish zarur — qiymat hozir yo'q
let selectedCity: string;
selectedCity = "Samarqand";
console.log(selectedCity);
null va undefined
JavaScript’da “qiymat yo’q” degani ikki xil bo’ladi. TypeScript bu farqni saqlaydi:
undefined— qiymat hali berilmagan (til o’zi qo’yadi);null— qiymat ataylab bo’sh qoldirilgan (dasturchi qo’yadi).
strict rejimida ularni oddiy tipga qo’shib bo’lmaydi:
// Xato: string tipiga null tushmaydi
const middleName: string = null;
Bo’sh bo’lishi mumkin bo’lgan qiymat uchun tip aniq yoziladi:
let middleName: string | null = null;
console.log(middleName);
middleName = "Alisher";
console.log(middleName.toUpperCase());
null
ALISHER
Vertikal chiziq “yo bu, yo u” degani. Bu yozuvni union va literal darsida batafsil ko’rasiz.
Aynan shu tekshiruv strict: true ning eng katta foydasi. U
JavaScript’dagi eng ko’p uchraydigan xatolardan birini — Cannot read properties of null ni oldini oladi.
Son bilan ishlash
number butun va kasr sonni ajratmaydi — JavaScript’dagi kabi:
const price: number = 15000;
const discount: number = 0.15;
const finalPrice = price - price * discount;
console.log(finalPrice);
12750
finalPrice ga tip yozilmadi: TypeScript ikki number ning ayirmasi
ham number bo’lishini o’zi hisobladi.
Matn bilan ishlash
const firstName: string = "Aziz";
const lastName: string = "Karimov";
const fullName = `${firstName} ${lastName}`;
console.log(fullName);
console.log(fullName.length);
Aziz Karimov
12
Tip belgilangandan keyin muharrir fullName. yozganingizda faqat matn
metodlarini taklif qiladi. Bu TypeScript’ning kundalik ishdagi eng
sezilarli foydasi.
Amaliy mashq
string,numbervabooleantipidagi uchta o’zgaruvchi yarating va ularniconsole.logbilan chiqaring;numbertipidagi o’zgaruvchiga matn berib ko’ring vaTS2322xato xabarini o’qing;- Tip izohisiz
let count = 0yozing, so’ng unga matn bering — xato bir xil bo’lishini tekshiring; string | nulltipidagi o’zgaruvchi yaratib, uni tekshirmasdantoUpperCase()chaqiring vaTS18047xatosini ko’ring;- Shu kodni
ifbilan tekshiruv qo’shib tuzating; constvaletbilan bir xil matnni e’lon qilib, muharrirda ular tipi qanday ko’rsatilishini solishtiring.
4 va 5-qadam juftligi eng muhimi: strict rejimi aynan shu tekshiruvni
majburlaydi va u dastur yiqilishining oldini oladi.
Qisqacha xulosa
- Uchta asosiy tip:
string,number,boolean. - Tip izohi o’zgaruvchi nomidan keyin ikki nuqta bilan yoziladi.
- Qiymat darhol berilsa tip yozilmaydi — TypeScript uni o’zi aniqlaydi.
- Qiymati keyin beriladigan o’zgaruvchiga tip yozish zarur.
strictrejimidanullvaundefinedoddiy tipga tushmaydi —string | nullshaklida aniq yoziladi.- Bo’sh bo’lishi mumkin bo’lgan qiymat tekshirilmasdan
ishlatilmaydi — TypeScript buni
TS18047bilan to’xtatadi.
Keyingi darsda massiv va kortej — bir nechta qiymatni tip bilan saqlash.