Daraja va qiymat darajasi kodini yozing
Statik tiplar bilan dasturlash haqida gapirganda, odamlar "tur darajasi" va "qiymat darajasi" atamalarini ko'p ishlatishadi va bu umumiy lug'atga ega bo'lishga yordam beradi.
tip darajasidagi kod atamasidan foydalanganimda , men faqat turlar va turdagi operatorlardan iborat kodni nazarda tutyapman. Buni valuelevel kodi bilan taqqoslang , bu boshqa hamma narsadir. Asosiy qoida: agar u haqiqiy JavaScript kodi bo'lsa, u qiymat darajasidir; agar u to'g'ri TypeScript bo'lsa, lekin JavaScript noto'g'ri bo'lsa, u typelevel.19
Biz bir sahifada ekanligimizga ishonch hosil qilish uchun, keling, misolni ko'rib chiqaylik - bu erda qalin atamalar tur darajasida, qolganlari esa qiymat darajasida:
funktsiyasi maydon ( radius : raqam ) : raqam | null {
agar ( radius < 0 ) { qaytish null
}
qaytish Matematika . PI * ( radius ** 2 )}
ruxsat bering r : raqam = 3 ruxsat a = maydoni ( r ) agar ( a !== null ) {
konsol . ma'lumot ( 'natija:' , a )
}
|
Qalin turdagi darajadagi shartlar - bu turdagi izohlar va birlashma turi operatori, | ; qolgan hamma narsa qiymat darajasidagi atamadir.
Keling, ushbu bobda hozirgacha ko'rgan funksiyalarning bir nechta misollarini ko'rib chiqaylik va ularning turlarini alohida qo'ng'iroq imzolariga ajratamiz, biz ularni tipdagi taxalluslar bilan bog'laymiz:
// funktsiya salomlash (nom: string) turi Salom = ( ism : string ) => ip
// funktsiya jurnali (xabar: string, userId?: string) turi Jurnal = ( xabar : string , userId? : string ) => bekor
// sumVariadicSafe funksiyasi(...raqamlar: raqam[]): raqam turi SumVariadicSafe = (... raqamlar : raqam []) => raqam
Buni tushunyapsizmi? Funktsiyalarning chaqiruv imzolari ularning amalga oshirilishiga juda o'xshash. Bu qasddan qilingan va qo'ng'iroq imzolari haqida fikr yuritishni osonlashtiradigan til dizayni tanlovidir.
Keling, qo'ng'iroq imzolari va ularni amalga oshirish o'rtasidagi munosabatlarni yanada aniqroq qilaylik. Agar sizda qo'ng'iroq imzosi bo'lsa, ushbu imzoni amalga oshiradigan funktsiyani qanday e'lon qilishingiz mumkin? Siz shunchaki chaqiruv imzosini uni amalga oshiradigan funksiya ifodasi bilan birlashtirasiz. Masalan, uning yorqin yangi imzosidan foydalanish uchun jurnalni qayta yozamiz :
Do'stlaringiz bilan baham: |