📖 Teorija
Namų darbas — griežtumo nauda
Namų darbas — griežtumo nauda.
- Įjunk flag'us.
tsconfig.jsonįsitikink, kad yrastrict,noUncheckedIndexedAccess,exactOptionalPropertyTypes. Paleisknpm run typecheck— tikriausiai atsiras naujų klaidų. Tai gerai: jos atskleidžia prielaidas. noUncheckedIndexedAccess. Raskarr[0]naudojimą (pvz. „naujausia nuotrauka"). Apdorokundefinedatvejį. Įrodyk: be patikros — klaida; su patikra — švaru.assertNever. ĮswitchperLoadStatus(arbaSortKey,Route)defaultšakoje pridėkassertNever. Tada pridėk naują sąjungos variantą ir stebėk, kaipnpm run typechecknurodo visus neapdorotusswitch'us.exactOptionalPropertyTypes. Pabandyk priskirti{ hdurl: undefined }ten, kurhdurl?: string. Su flag'u — klaida. Suprask skirtumą: „nėra lauko" ≠ „laukas su undefined".- Generikas. Įsitikink, kad
debounceišsaugo argumentų tipus:debounce((n: number) => ...)grąžinta funkcija turi priimtinumber, neany.
Privalomi testai:
- Indekso testas:
arr[0]be patikros nekompiliuojasi. - Išsamumo testas: naujas sąjungos variantas sulaužo kiekvieną neatnaujintą
switch.
Atsiskaitymui: ekrano nuotraukos: (1) noUncheckedIndexedAccess klaida ir taisymas, (2) assertNever sulaužytas pridėjus variantą (rodo visus switch'us).
Toliau — Part 4. Programa tipizuota ir griežta. 19 pamokoje ją išleisim: Vite produkcijos build, aplinkos kintamieji ir diegimas. Ir svarbiausia pamoka apie raktus:
VITE_NASA_API_KEYatsiduria pakuotėje — kiekvienas gali perskaityti. Kada tai gerai, o kada — pavojinga.