Programming TypeScript
funktsiyasi trueOrNull ( isTrue : mantiqiy ) { agar
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
funktsiyasi trueOrNull ( isTrue : mantiqiy ) {
agar ( isTrue ) { qaytish "to'g'ri" } qaytish null } Bu funksiya qaytaradigan qiymatning turi qanday? Xo'sh, bu string bo'lishi mumkin yoki null bo'lishi mumkin . Biz uning qaytish turini quyidagicha ifodalashimiz mumkin: turi Qaytadi = ip | null Bu haqda nima deyish mumkin? funktsiya ( a : string , b : raqam ) { qaytish a || b } Agar a rost bo'lsa, qaytarish turi string bo'ladi , aks holda bu raqam bo'ladi : boshqacha qilib aytganda, string | raqam . Uyushmalar tabiiy ravishda paydo bo'ladigan oxirgi joy massivlardir (ayniqsa, heterojen turdagi), biz bu haqda keyin gaplashamiz. Massivlar JavaScript-da bo'lgani kabi, TypeScript massivlari ham birlashtirish, surish, qidirish va kesish kabi narsalarni qo'llab-quvvatlaydigan maxsus turdagi ob'ektlardir. Misol vaqti: ruxsat bering a = [ 1 , 2 , 3 ] // raqam[] var b = [ 'a' , 'b' ] // string[] ruxsat c : string [] = [ 'a' ] // string[] ruxsat d = [ 1 , 'a' ] // (string | raqam)[] const e = [ 2 , 'b' ] // (string | raqam)[] ruxsat bering f = [ 'qizil' ] f . surish ( "ko'k" ) f . push ( rost ) // Xato TS2345: "true" turidagi argument emas // 'string' tipidagi parametrga tayinlanishi mumkin. ruxsat bering g = [] // har qanday[] g . surish ( 1 ) // raqam[] g . surish ( 'qizil' ) // (string | raqam)[] ruxsat bering h : raqam [] = [] // raqam[] h . surish ( 1 ) // raqam[] h . push ( "qizil" ) // TS2345 xatosi: "qizil" turidagi argument emas // "raqam" tipidagi parametrga tayinlanishi mumkin. T ypeScript massivlar uchun ikkita sintaksisni qo'llab-quvvatlaydi: T[] va Array Ushbu misollarni o'qiyotganingizda, c va hdan tashqari hamma narsa bilvosita yozilganligiga e'tibor bering. Bundan tashqari, TypeScript-da massivga nima qo'yish va nimalarni qo'yish mumkin emasligi haqida qoidalar borligini ko'rasiz. bir xilda saqlashdir . Ya'ni, olma, apelsin va raqamlarni bitta massivda aralashtirmang - dasturlaringizni massivning har bir elementi bir xil turga ega bo'lishi uchun loyihalashga harakat qiling. Sababi shundaki, aks holda siz TypeScript-ga qilayotgan ishingiz xavfsiz ekanligini isbotlash uchun ko'proq ish qilishingiz kerak bo'ladi. f misolini ko'rib chiqing . Men massivni "qizil" satr bilan ishga tushirdim (massivni e'lon qilgan paytda u faqat satrlardan iborat edi, shuning uchun TypeScript u satrlar massivi bo'lishi kerak degan xulosaga keldi). Keyin men uning ustiga "ko'k" ni bosdim; "ko'k" - bu satr, shuning uchun TypeScript uni o'tkazishga ruxsat beradi. Keyin men massivga true ni surishga harakat qildim , lekin bu muvaffaqiyatsizlikka uchradi! Nega? Chunki f satrlar massivi, true esa satr emas. d ni ishga tushirganimda, men unga raqam va qatorni berdim , shuning uchun TypeScript u raqam turidagi massiv bo'lishi kerak degan xulosaga keldi . string . Har bir element raqam yoki satr bo'lishi mumkinligi sababli, uni ishlatishdan oldin qaysi element ekanligini tekshirishingiz kerak. Masalan, siz har bir harfni bosh harfga o'zgartirib, har bir raqamni uch barobarga ko'paytirib, ushbu massivni xaritalashni xohlaysizmi deylik: 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