TypeScript null va undefined
TypeScript null yoki undefined qiymatlari bilan ishlash uchun kuchli tizimga ega.
Standart holatda null va undefined bilan ishlash o‘chirilgan bo‘ladi, uni strictNullChecks ni true qiymatiga o‘rnatish orqali yoqish mumkin.
Ushbu sahifaning qolgan qismi strictNullChecks yoqilganda amal qiladi.
Turlari
null va undefined ibtidoiy turlar bo‘lib, boshqa turlar kabi ishlatilishi mumkin, masalan, string .
Misol
let value: string | undefined | null = null;
value = 'hello';
value = undefined;
O‘zingiz sinab ko‘ring »
strictNullChecks yoqilganda, TypeScript qiymatlarni o‘rnatishni talab qiladi
agar turga undefined aniq qo‘shilmagan bo‘lsa.
Ixtiyoriy zanjir
Majburiy emas zanjirlash - bu TypeScript-ning null ishlovi bilan yaxshi ishlaydigan JavaScript xususiyati.
U ixcham sintaksisdan foydalanib, mavjud yoki bo‘lmasligi mumkin bo‘lgan obyekt xususiyatlariga kirish imkonini beradi.
Xususiyatlarga kirishda undan ?. operatori bilan foydalanish mumkin.
Misol
interface House {
sqft: number;
yard?: {
sqft: number;
};
}
function printYardSize(house: House) {
const yardSize = house.yard?.sqft;
if (yardSize === undefined) {
console.log('No yard');
} else {
console.log(`Yard is ${yardSize} sqft`);
}
}
let home: House = {
sqft: 500
};
printYardSize(home); // Prints 'No yard'
O‘zingiz sinab ko‘ring »
Nully Coalescing
Nullish birlashtirish JavaScript-ning yana bir xususiyati bo‘lib, u TypeScript-ning null ishlovi bilan ham yaxshi ishlaydi.
Bu null yoki undefined bilan ishlashda, ayniqsa, orqaga qaytishga ega iboralarni yozish imkonini beradi.
Bu ifodada boshqa noto‘g‘ri qiymatlar paydo bo‘lishi mumkin bo‘lsa, lekin hali ham amalda bo‘lsa foydali bo‘ladi.
U && operatoridan foydalanishga o‘xshash ifodada ?? operatori bilan ishlatilishi mumkin.
Misol
function printMileage(mileage: number | null | undefined) {
console.log(`Mileage: ${mileage ?? 'Not Available'}`);
}
printMileage(null); // Prints 'Mileage: Not Available'
printMileage(0); // Prints 'Mileage: 0'
O‘zingiz sinab ko‘ring »
Null tasdiqlash
TypeScript-ning xulosa chiqarish tizimi mukammal emas, ba’zida qiymatning null yoki undefined bo‘lish imkoniyatini e’tiborsiz qoldirish mantiqiy bo‘ladi.
Buni amalga oshirishning oson yo‘li - kastingdan foydalanish, ammo TypeScript qulay yorliq sifatida ! operatorini ham taqdim etadi.
Misol
function getValue(): string | undefined {
return 'hello';
}
let value = getValue();
console.log('value length: ' + value!.length);
O‘zingiz sinab ko‘ring »
Xuddi quyma kabi, bu xavfli bo‘lishi mumkin va ehtiyotkorlik bilan foydalanish kerak.
Massiv chegaralari bilan ishlash
strictNullChecks yoqilgan bo‘lsa ham, TypeScript standart holatda massiv elementiga murojaat hech qachon undefined qaytarmaydi deb hisoblaydi (agar undefined massiv tipining bir qismi bo‘lmasa).
Ushbu xatti-harakatni o‘zgartirish uchun noUncheckedIndexedAccess konfiguratsiyasidan foydalanish mumkin.
Misol
let array: number[] = [1, 2, 3];
let value = array[0]; // with `noUncheckedIndexedAccess` this has the type `number | undefined`
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
