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:

  1. Qiymat darhol berilsa — yozmang, TypeScript o’zi biladi;
  2. 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

  1. string, number va boolean tipidagi uchta o’zgaruvchi yarating va ularni console.log bilan chiqaring;
  2. number tipidagi o’zgaruvchiga matn berib ko’ring va TS2322 xato xabarini o’qing;
  3. Tip izohisiz let count = 0 yozing, so’ng unga matn bering — xato bir xil bo’lishini tekshiring;
  4. string | null tipidagi o’zgaruvchi yaratib, uni tekshirmasdan toUpperCase() chaqiring va TS18047 xatosini ko’ring;
  5. Shu kodni if bilan tekshiruv qo’shib tuzating;
  6. const va let bilan 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.
  • strict rejimida null va undefined oddiy tipga tushmaydi — string | null shaklida aniq yoziladi.
  • Bo’sh bo’lishi mumkin bo’lgan qiymat tekshirilmasdan ishlatilmaydi — TypeScript buni TS18047 bilan to’xtatadi.

Keyingi darsda massiv va kortej — bir nechta qiymatni tip bilan saqlash.

Bu dars foydali bo'ldimi?

marta ko'rildi