Programming TypeScript


Download 1.81 Mb.
bet43/206
Sana01.11.2023
Hajmi1.81 Mb.
#1737990
1   ...   39   40   41   42   43   44   45   46   ...   206
Bog'liq
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)

ruxsat bering x = { a() { qaytish bu
}
}
x . a () // bu a() jismidagi x ob'ekt.
Agar biror nuqtada uni chaqirishdan oldin uni qayta tayinlasangiz , natija o'zgaradi!
ruxsat bering a = x . a
a () // endi, bu a() tanasida aniqlanmagan
Aytaylik, sizda sanalarni formatlash uchun yordamchi funktsiya mavjud bo'lib, u quyidagicha ko'rinadi:
funktsiyasi fancyDate() {
qaytish ` ${ bu . getDate () } / ${ bu . getMonth } / ${ bu . getFullYear () } ` }
Siz ushbu APIni dastlabki kunlarda dasturchi sifatida yaratgansiz (funksiya parametrlari haqida bilishdan oldin). fancyDate dan foydalanish uchun uni sana bilan bog'langan holda chaqirishingiz kerak :
fancyDate . qo'ng'iroq ( yangi Sana ) // "4/14/2005" ga baholanadi
sanani bunga bog'lashni unutib qo'ysangiz , ish vaqti istisnosiga ega bo'lasiz!
fancyDate () // Tugallanmagan TypeError: this.getDate funksiya emas
buning barcha semantikasini o'rganish ushbu kitob doirasidan tashqarida bo'lsa-da, 17bu xatti-harakat - bu siz uni qanday e'lon qilganingizga emas, balki funktsiyani qanday chaqirganingizga bog'liq - hech bo'lmaganda hayratlanarli bo'lishi mumkin.
Yaxshiyamki, TypeScript sizning orqangizda. Agar funktsiyangiz buni ishlatsa, kutilgan ushbu turni funktsiyangizning birinchi parametri sifatida e'lon qilishni unutmang (har qanday qo'shimcha parametrlardan oldin) va TypeScript bu haqiqatan ham har bir qo'ng'iroq saytida siz aytgan narsa ekanligini ta'minlaydi . Bu boshqa parametrlar kabi ko'rib chiqilmaydi - bu funktsiya imzosining bir qismi sifatida foydalanilganda zaxiralangan so'zdir:
funktsiyasi fancyDate ( bu : Sana ) {
qaytish ` ${ bu . getDate () } / ${ bu . getMonth () } / ${ bu . getFullYear () } ` }
fancyDate ni chaqirganimizda nima sodir bo'ladi :
fancyDate . qo'ng'iroq ( yangi Sana ) // "6/13/2008" ga baholanadi
fancyDate () // TS2684 xatosi: "void" turidagi "bu" kontekst // “Sana” turidagi “this” usuliga tayinlanmaydi.
Biz ish vaqti xatosiga yo‘l qo‘ydik va TypeScript-ga kompilyatsiya vaqtida xato haqida ogohlantirish uchun yetarlicha ma’lumot berdik.
T SC bayrog'i: noImplicitThis

Bu turlar har doim funktsiyalarda aniq izohlanishini ta'minlash uchun tsconfig.json faylida noImplicitThis sozlamasini yoqing . qat'iy rejim noImplicitThis ni o'z ichiga oladi , shuning uchun siz allaqachon yoqilgan bo'lsangiz, ketishingiz mumkin.
E'tibor bering, noImplicitThis bu - sinflar yoki ob'ektlardagi funktsiyalar uchun izohlarni qo'llamaydi .

Download 1.81 Mb.

Do'stlaringiz bilan baham:
1   ...   39   40   41   42   43   44   45   46   ...   206




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