Programming TypeScript
Download 1.81 Mb.
|
Boris Cherny Programming TypeScript Making Your JavaScript Applications (1)
Kod muharririni sozlash
8qo'lda tsconfig.json yaratmoqdamiz . Kelajakda TypeScript loyihalarini o'rnatganingizda, siz uchun yaratish uchun TSC-ning o'rnatilgan ishga tushirish buyrug'idan foydalanishingiz mumkin: ./node_modules/.bin/tsc --init . 9Deyarli. Noma'lum birlashma turining bir qismi bo'lsa , birlashma natijasi noma'lum bo'ladi . Birlashma turlari haqida ko'proq ma'lumotni 32-betdagi "Birlashma va kesishish turlari" bo'limida o'qishingiz mumkin . 10Yozish vaqtida siz NaN , Infinity yoki -Infinity dan harf harflari sifatida foydalana olmaysiz. 11JavaScript-dagi ob'ektlar kalitlar uchun satrlardan foydalanadi; massivlar raqamli kalitlardan foydalanadigan maxsus turdagi ob'ektlardir. 12Bitta kichik texnik farq bor: {} .toString va .hasOwnProperty (prototiplar haqida koʻproq maʼlumot olish uchun MDN sahifasiga oʻting ) kabi Obʼyekt prototipida oʻrnatilgan usullar uchun kerakli turlarni belgilash imkonini beradi , Object esa siz turlarini belgilashga majbur qiladi. declare ob'ekt prototipidagilarga tayinlanishi mumkin . Masalan, ushbu kod turini tekshiradi: a: {} = {toString() { 3 ni qaytarsin }} . Agar siz turdagi izohni Object ga o'zgartirsangiz , TypeScript shikoyat qiladi: b: Object = {toString() { return 3 }} natijada TS2322 xatosi paydo bo'ladi: "Raqam" turi "string" turiga tayinlanmaydi . 13DRY qisqartmasi "O'zingizni takrorlamang" degan ma'noni anglatadi - kod takrorlanmasligi kerak degan fikr. U Endryu Xant va Devid Tomas tomonidan o'zlarining "Pragmatik dasturchi: sayohatchidan ustagacha" (Addison-Uesli) kitobida taqdim etilgan . 14128-sahifadagi “Diskriminatsiyalangan birlashma turlari” ga o‘ting va TypeScript-ga sizning birlashmangiz tarqoq va bu birlashmaning qiymati ikkalasi ham emas, biri yoki boshqasi bo‘lishi kerakligiga ishora qilishni o‘rganing. 15Pastki tur haqida o'ylash usuli hech qanday qiymatga ega bo'lmagan turdir. Pastki tur har doim yolg'on bo'lgan matematik taklifga mos keladi. 16Nima uchun ular xavfsiz emas? Agar siz ushbu oxirgi misolni kod muharriringizga kiritsangiz, uning turi Function ekanligini ko'rasiz . Bu funksiya turi nima ? Bu chaqiriladigan ob'ekt (bilasizmi, undan keyin () qo'yish orqali) va Function.prototype dan barcha prototip usullariga ega . Ammo uning parametrlari va qaytish turi yozilmagan, shuning uchun siz funktsiyani xohlagan argumentlar bilan chaqirishingiz mumkin va TypeScript qaysi shaharda yashashingizdan qat'i nazar, noqonuniy bo'lishi kerak bo'lgan ishni qilayotganingizni kuzatib, jim turadi. 17Bunga chuqurroq sho'ng'ish uchun Kayl Simpsonning O'Reillydan "Siz bilmaysiz" JS seriyasini ko'ring . 18Ta'kidlash joizki, Ob'ekt va raqam iterator emas. 19Ushbu asosiy qoidadan istisnolar sonlar, sinflar va nomlar maydonidir. Raqamlar va sinflarning har biri ham tur, ham qiymat hosil qiladi va nomlar bo'shliqlari faqat qiymat darajasida mavjud. To'liq ma'lumot uchun C ilovasiga qarang . 20Agar siz ilgari "qayta qo'ng'iroq" atamasini eshitmagan bo'lsangiz, bularning barchasi siz boshqa funktsiyaga argument sifatida o'tkazgan funksiyadir. 21126-betdagi “Tuzatish” ga o‘ting . 22Ko'pincha - TypeScript ularni tartibda hal qilishdan oldin tom ma'noda haddan tashqari yuklarni ko'taradi. Siz bu xususiyatga bog'liq bo'lishni xohlamasligingiz mumkin, chunki bu xatti-harakat bilan tanish bo'lmagan boshqa muhandislar uchun ortiqcha yuklaringizni tushunish qiyin bo'lishi mumkin. 23chaqiruv funksiyamizni buni hisobga olmaslik uchun loyihalashtiramiz . 24siz yozgan imzolardan siz uchun funktsiya organlarini avtomatik ravishda amalga oshirish qobiliyatiga ega bo'lgan o'rnatilgan cheklovlarni yechish mumkin ! 25Yoki tez orada JavaScript sinflari tomonidan qo'llab-quvvatlanmoqchi. 26TypeScript tizimli ravishda terilganligi sababli, albatta, sinflar uchun munosabatlar ko'proq "ko'rinishga o'xshaydi" - sinfingiz bilan bir xil shaklni amalga oshiradigan har qanday ob'ekt sizning sinfingiz turiga tayinlanishi mumkin. 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