Izvedite vse o funkcijah, ki jih uvaja ta najnovejša različica TypeScript.

TypeScript, Microsoftov priljubljen programski jezik, še naprej navdušuje s svojo najnovejšo izdajo, TypeScript 5.1. Ta različica, polna vznemirljivih novih funkcij in izboljšav, obljublja, da bo vašo izkušnjo kodiranja popeljala na novo višine.

Poenostavljeni vrnitve funkcij in vrste dostopnikov

V JavaScriptu, ko ustvarite funkcijo in ga izvede, ne da bi naletel na stavek return, samodejno vrne vrednost nedoločeno.

TypeScript 5.1 je uvedel novo funkcijo, ki funkcijam, ki vrnejo nedefinirano, omogoča, da v celoti izpustijo stavek return. Ta izboljšava izboljša berljivost in jedrnatost kode.

funkcijologMessage(sporočilo: vrvica): nedoločeno{
konzola.log (sporočilo);
// Izjava o vrnitvi tukaj ni potrebna
}

Ta primer uporablja funkcijo logMessage za prikaz sporočila na konzoli. Vendar pa funkcija izrecno ne vrne nobene vrednosti.

TypeScript 5.1 uvaja novo funkcijo, ki dovoljuje uporabo nepovezanih tipov za pridobivalnike in nastavljalce, če podate eksplicitne opombe tipa.

Ta izboljšava se izkaže za zelo koristno v situacijah, ko morate uveljaviti različne vrste za dostop do lastnosti in spreminjanje lastnosti.

razred uporabnik {
zasebno _ime: vrvica | nič = nič;

set ime (novo ime: vrvica) {
to._ime = novoIme;
}

dobiti ime(): vrvica {
vrnitevto._ime?? 'Neznano';
}
}

V tem primeru ima uporabniški razred private _ime lastnina, ki je lahko bodisi a vrvica oz nič. The ime setter vzame niz novoIme in ga dodeli _ime. Pridobivalnik imen vrne vrednost _ime če ni nič, oz Neznano če je.

To vam omogoča, da uveljavite, da je lastnost name mogoče nastaviti samo z nizom, ko pa pridobite lastnost name, je to lahko bodisi niz ali Neznano če še ni nastavljeno.

Ta funkcija omogoča bolj prilagodljive in izrazite definicije tipov, kot je prikazano v spodnjem primeru.

vmesnik CSSStyleRule {
// Vedno se bere kot `CSSStyleDeclaration`
dobiti style(): CSSStyleDeclaration;

// Tukaj lahko zapišete samo `niz`.
set slog (nova vrednost: vrvica);
}

V zgornjem primeru ima lastnost style getter, ki vrne CSSStyleDeclaration, in setter, ki sprejme niz. Ti tipi niso povezani, vendar TypeScript 5.1 omogoča tovrstno definicijo tipa.

Izboljšave JSX

TypeScript 5.1 uvaja več izboljšav za JSX. Zdaj omogoča ločeno preverjanje tipov med elementi JSX in vrstami oznak JSX, kar je lahko uporaben za knjižnice, kot je redux ki komponentam omogočajo, da vrnejo več kot le elemente JSX.

uvoz * kot Reagiraj od"reagirati";

asinhfunkcijoAsyncComponent() {
vrnitev

Naloženo</div>;
}

// To je zdaj dovoljeno:
pustiti element = ;

V tem primeru je AsyncComponent funkcija je asinhrona funkcija, ki vrne element JSX. TypeScript 5.1 omogoča uporabo te vrste funkcije kot komponente JSX, kar v prejšnjih različicah ni bilo mogoče.

TypeScript 5.1 uvaja tudi podporo za novo JSX Transform, predstavljeno v React 17. To vam omogoča uporabo JSX brez uvoza React.

// Pred
uvoz Reagiraj od"reagirati";

funkcijoKomponenta() {
vrnitev

Pozdravljen, svet!</h1>;
}

// Po
funkcijoKomponenta() {
vrnitev

Pozdravljen, svet!</h1>;
}

V zgornjem primeru funkcija Component vrne element JSX. V TypeScript 5.1 in React 17 vam za uporabo JSX ni več treba uvoziti Reacta.

Povečanje zmogljivosti in pomembne spremembe v TypeScriptu 5.1

TypeScript 5.1 uvaja več optimizacij za izboljšanje zmogljivosti, vključno z optimizacijo hitrosti, pomnilnika in velikosti paketa, izogibanje nepotrebnemu instanciranju tipov, preverjanju negativnih velikih in malih črk za unijske literale in zmanjšanim klicem v pregledovalnik za JSDoc razčlenjevanje.

Tukaj je primer izogibanja nepotrebnemu instanciranju tipa znotraj tipov objektov, za katere je znano, da ne vsebujejo sklicev na parametre zunanjega tipa, in hitrejših preverjanj literalov unije.

vrsta Unija = 'a' | 'b' | 'c';

funkcijopreverite(vrednost: Union) {
// ...
}

V tem primeru lahko TypeScript 5.1 hitro preveri, ali je vrednost del tipa Union, ne da bi ga bilo treba preverjati z vsakim tipom v sindikatu.

Tu je še en primer:

vrsta Točka = { x: število, y: število };

funkcijoprevesti(točka: točka, dx: število, dy: število): Točka{
vrnitev { x: točka.x + dx, y: točka.y + dy };
}

pustiti p: Točka = { x: 1, y: 2 };
p = prevedi (p, 1, 1);

V tem primeru je tip Point tip predmeta, ki ne vsebuje parametrov tipa. Ko pokliče funkcijo prevajanja, se lahko TypeScript 5.1 izogne ​​nepotrebni instanciaciji tipa, kar lahko znatno pospeši preverjanje tipa.

Sprejemanje TypeScripta 5.1

TypeScript 5.1 uvaja vrsto zmogljivih funkcij in optimizacij, ki spreminjajo razvoj JavaScripta. Od poenostavljenih funkcij, ki se vrnejo k izboljšavam JSX in povečanju zmogljivosti, TypeScript 5.1 vam omogoča pisanje čistejše, bolj izrazite kode, hkrati pa izboljša preverjanje tipa in splošno zmogljivost.

Če sprejmete TypeScript 5.1, lahko odklenete nove možnosti in dvignete svoje projekte JavaScript na nove višine učinkovitosti in inovativnosti. Naj bo TypeScript 5.1 vaš prehod v naprednejšo in poenostavljeno izkušnjo razvoja JavaScripta.