TypeScript tip o‘zgartirish (casting)
Turlar bilan ishlashda o‘zgaruvchining turini bekor qilish zarur bo‘lgan holatlar mavjud, masalan, kutubxona tomonidan noto‘g‘ri turlar taqdim etilganda.
Kasting - bu turni bekor qilish jarayoni.
as bilan translatsiya
O‘zgaruvchini uzatishning oddiy usuli bu as kalit so‘zidan foydalanish,
bu berilgan o‘zgaruvchining turini bevosita o‘zgartiradi.
Kasting aslida o‘zgaruvchidagi ma’lumotlar turini o‘zgartirmaydi,
masalan, quyidagi kod kutilganidek ishlamaydi, chunki x o‘zgaruvchisi hali ham raqamga ega.
let x: unknown = 4;
console.log((x as string).length); // prints undefined since numbers don't have a length
TypeScript hali ham noto‘g‘ri ko‘rinadigan translatsiyalarning oldini olish uchun translatsiyalarni yozishga harakat qiladi,
masalan, quyidagi turdagi xatolikka yo‘l qo‘yadi, chunki TypeScript stringni raqamga uzatish mantiqiy emasligini biladi.
ma’lumotlarni o‘zgartirmasdan:
console.log((4 as string).length); // Error: Conversion of type 'number' to type 'string' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
The Force casting section below covers how to override this.
<> bilan translatsiya
<> dan foydalanish as bilan translatsiya qilish bilan bir xil ishlaydi.
Ushbu turdagi kasting TSX bilan ishlamaydi, masalan, React fayllari ustida ishlashda.
Majburiy casting
Translatsiya paytida TypeScript chiqarishi mumkin bo‘lgan turdagi xatolarni bekor qilish uchun avval unknown ga, keyin esa maqsadli turga o‘tkazing.
Misol
let x = 'hello';
console.log(((x as unknown) as number).length); // x is not actually a number so this will return undefined
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
