Programming TypeScript


Turlar avtomatik ravishda aylantiriladimi?


Download 1.81 Mb.
bet12/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   8   9   10   11   12   13   14   15   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

Turlar avtomatik ravishda aylantiriladimi?

Ha

Yo'q (asosan)

Turlar qachon tekshiriladi?

Ishlash vaqtida

Kompilyatsiya vaqtida

Xatolar qachon paydo bo'ladi?

Ishlash vaqtida (asosan)

Kompilyatsiya vaqtida (asosan)

Turlar qanday bog'langan?
Dinamik turdagi bog'lash JavaScript undagi narsalar turlarini bilish uchun dasturingizni aslida ishga tushirishi kerakligini anglatadi. Dasturingizni ishga tushirishdan oldin JavaScript sizning turlaringizni bilmaydi.
TypeScript - asta-sekin yoziladigan til. Bu shuni anglatadiki, TypeScript kompilyatsiya vaqtida dasturingizdagi hamma narsa turlarini bilsa yaxshi ishlaydi, lekin dasturingizni kompilyatsiya qilish uchun har bir turni bilishi shart emas. Hatto tiplanmagan dasturda ham TypeScript siz uchun ba'zi turlarni aniqlashi va ba'zi xatolarni aniqlashi mumkin, ammo hamma narsaning turlarini bilmasdan, u ko'p xatolar foydalanuvchilarga o'tib ketishiga imkon beradi.
Ushbu bosqichma-bosqich yozish eski kod bazalarini yozilmagan JavaScript-dan TypeScript-ga ko'chirish uchun juda foydalidir (bu haqda 236-betdagi “JavaScript-dan TypeScript-ga bosqichma-bosqich o'tish” bo'limida batafsil ma'lumot oling), lekin agar siz kod bazasini ko'chirish o'rtasida bo'lmasangiz, maqsadni qo'yishingiz kerak. 100% turdagi qamrov uchun. Bu kitobning yondashuvi, aniq qayd etilgan holatlar bundan mustasno.
Turlar avtomatik ravishda aylantiriladimi?
1-bobda qilganimiz kabi ), u siz nimani nazarda tutganingizni tushunish uchun bir qator qoidalarni qo'llaydi, shunda u qo'lidan kelganini qila oladi. nima berdingiz . Keling, JavaScript 3 + [1] ni qanday baholashining aniq misolini ko'rib chiqaylik :

  1. JavaScript 3 son va [1] massiv ekanligini taʼkidlaydi.

  2. + dan foydalanayotganimiz sababli , biz ikkalasini birlashtirmoqchimiz.

  3. U bilvosita 3 ni satrga aylantiradi va "3" ni beradi .

  4. U bilvosita [1] ni satrga aylantirib, "1" ni beradi .

  5. U natijalarni birlashtiradi va "31" ni beradi .

Biz buni aniqroq qilishimiz mumkin (shuning uchun JavaScript 1, 3 va 4-bosqichlarni bajarishdan qochadi):
3 + [ 1 ]; // "31" ga baholanadi
( 3 ). toString () + [ 1 ]. toString () // "31" ni baholaydi
JavaScript siz uchun aqlli turdagi konversiyalarni amalga oshirish orqali foydali bo'lishga harakat qilsa-da, siz noto'g'ri biror narsa qilsangiz, TypeScript shikoyat qiladi. Xuddi shu JavaScript kodini TSC orqali ishga tushirganingizda, siz xatoga duch kelasiz:
3 + [ 1 ]; // TS2365 xatosi: "+" operatorini qo'llash mumkin emas // '3' va 'raqam[]'ni kiriting.
( 3 ). toString () + [ 1 ]. toString () // "31" ni baholaydi
Agar siz noto'g'ri ko'rinadigan biror narsa qilsangiz, TypeScript shikoyat qiladi va agar niyatingiz haqida ochiq aytsangiz, TypeScript yo'lingizdan chiqib ketadi. Bu xatti-harakat mantiqan to'g'ri keladi: kim aqli joyida bo'lsa, natija qator bo'lishini kutgan holda raqam va massiv qo'shishga harakat qiladi (albatta, startapingiz podvalida sham yorug'ida vaqtini kodlash bilan o'tkazadigan JavaScript jodugar Bavmordadan tashqari)?
JavaScript-ning bilvosita konvertatsiyasi haqiqatan ham kuzatilishi qiyin bo'lgan xatolar manbai bo'lishi mumkin va ko'plab JavaScript dasturchilarining balosi hisoblanadi. Bu individual muhandislarga o'z ishlarini bajarishni qiyinlashtiradi va bu katta jamoa bo'ylab kodni kengaytirishni yanada qiyinlashtiradi, chunki har bir muhandis sizning kodingizning yashirin taxminlarini tushunishi kerak.
Qisqasi, agar siz turlarni o'zgartirishingiz kerak bo'lsa, buni aniq bajaring.

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   206




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling