Programming TypeScript
turi Jurnal = ( xabar : string , userId? : string ) => bekor
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
turi Jurnal = ( xabar : string , userId? : string ) => bekor
ruxsat bering jurnal : jurnal = ( xabar , Foydalanuvchi IDsi = "Tizimga kirmagan" ) => { ruxsat bering vaqt = yangi Sana (). toISOString () konsoli . jurnal ( vaqt , xabar , userId )} Biz funktsiya ifodasi jurnalini e'lon qilamiz va uni Log turi sifatida aniq yozamiz . Parametrlarimizni ikki marta izohlashimiz shart emas. Xabar allaqachon Log uchun ta'rifning bir qismi sifatida satr sifatida izohlanganligi sababli , biz uni bu yerga qayta kiritishimiz shart emas. Buning o'rniga, TypeScript-ga buni Log dan biz uchun chiqarishga ruxsat beramiz . userId uchun standart qiymatni qo‘shdik , chunki biz Log uchun imzomizda userId turini yozib oldik, lekin standart qiymatni Logning bir qismi sifatida qo‘lga kirita olmadik , chunki Log bu tur va qiymatlarni o‘z ichiga olmaydi. Qaytish turiga yana izoh berishning hojati yo'q, chunki biz allaqachon jurnal turida uni bekor deb e'lon qilgan edik . Kontekstli yozishE'tibor bering, oxirgi misol biz ko'rgan birinchi misol bo'lib, biz funktsiya parametrlari turlarini aniq izohlashimiz shart emas edi. Biz allaqachon jurnalning Log turida ekanligini e'lon qilganimiz sababli , TypeScript kontekstdan xabar string turida bo'lishi kerak degan xulosaga kelishi mumkin . Bu kontekstli yozish deb nomlangan TypeScript turi xulosasining kuchli xususiyatidir . Ushbu bobning boshida biz kontekstli yozish paydo bo'ladigan yana bir joyga to'xtalib o'tdik: qayta qo'ng'iroq qilish funksiyalari.20 Har safar joriy indeksni f ga o'tkazib, f qayta qo'ng'iroqni bir necha marta n deb chaqiradigan funktsiya vaqtlarini e'lon qilaylik : funktsiyasi marta ( f : ( indeks : raqam ) => bekor , n : raqam ) { uchun ( ruxsat i = 0 ; i < n ; i ++ ) { f ( i ) } } times ga qo'ng'iroq qilganingizda , agar siz ushbu funktsiyani inline deb e'lon qilsangiz, vaqtga o'tadigan funktsiyaga aniq izoh berishingiz shart emas : marta ( n => konsol . jurnal ( n ), 4 ) TypeScript kontekstdan n son degan xulosaga keladi — biz f ning argument indeksi vaqtlar imzosidagi raqam ekanligini e'lon qildik va TypeScript n bu argument, shuning uchun u raqam bo'lishi kerak degan xulosaga kelish uchun yetarlicha aqlli . f ni inline e'lon qilmaganimizda , TypeScript uning turini aniqlay olmas edi: funktsiyasi f ( n ) { // TS7006 xatosi: "n" parametri bilvosita "har qanday" turga ega. konsol . log ( n ) } marta ( f , 4 ) Download 1.81 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling