Saznajte sve o značajkama koje uvodi ova najnovija verzija TypeScripta.
TypeScript, Microsoftov popularni programski jezik, nastavlja impresionirati svojim najnovijim izdanjem, TypeScript 5.1. Prepuna uzbudljivih novih značajki i poboljšanja, ova verzija obećava da će vaše iskustvo kodiranja dovesti na novo visine.
Pojednostavljeni povrati funkcija i vrste pristupnika
U JavaScriptu, kada stvorite funkciju i izvršiti ga bez susretanja s povratnom naredbom, automatski vraća vrijednost nedefiniran.
TypeScript 5.1 uveo je novu značajku koja omogućuje funkcijama koje vraćaju nedefinirano potpuno izostavljanje naredbe return. Ovo poboljšanje poboljšava čitljivost i sažetost koda.
funkcijalogMessage(poruka: niz): nedefiniran{
konzola.log (poruka);
// Ovdje nije potrebna naredba return
}
Ovaj primjer koristi funkciju logMessage za prikaz poruke na konzoli. Međutim, funkcija eksplicitno ne vraća nikakvu vrijednost.
TypeScript 5.1 uvodi novu značajku koja dopušta korištenje nepovezanih tipova za dobivače i postavljače, sve dok dajete eksplicitne komentare tipa.
Ovo se poboljšanje pokazalo vrlo korisnim u situacijama u kojima trebate nametnuti različite tipove za pristup i izmjenu svojstva.
razreda Korisnik {
privatna _Ime: niz | ništavan = ništavan;postaviti ime (novo ime: niz) {
ovaj._ime = novoIme;
}
dobiti Ime(): niz {
povratakovaj._Ime?? 'Nepoznato';
}
}
U ovom primjeru, klasa User ima private _Ime svojstvo koje može biti ili a niz ili ništavan. The Ime postavljač uzima žicu novoIme i dodjeljuje ga _Ime. Dobavljač imena vraća vrijednost _Ime ako nije ništavan, ili Nepoznato ako je.
To vam omogućuje da nametnete da se svojstvo naziva može postaviti samo pomoću niza znakova, ali kada dobijete svojstvo naziva, ono može biti niz ili Nepoznato ako još nije postavljeno.
Ova značajka omogućuje fleksibilnije i izražajnije definicije tipa kao što je prikazano u primjeru u nastavku.
sučelje CSSStyleRule {
// Uvijek se čita kao `CSSStyleDeclaration`
dobiti style(): CSSStyleDeclaration;
// Ovdje se može napisati samo `string`.
postaviti stil (novaVrijednost: niz);
}
U gornjem primjeru, svojstvo style ima getter koji vraća CSSStyleDeclaration i setter koji prihvaća niz. Ovi tipovi nisu povezani, ali TypeScript 5.1 dopušta ovu vrstu definicije tipa.
JSX poboljšanja
TypeScript 5.1 uvodi nekoliko poboljšanja za JSX. Sada dopušta razdvojenu provjeru tipa između JSX elemenata i tipova JSX oznaka, što može biti korisno za knjižnice poput reduxa koje omogućuju komponentama da vrate više od samih JSX elemenata.
uvoz * kao Reagirati iz"reagirati";
asinkronifunkcijaAsyncComponent() {
povratakUčitano</div>;
}
// Ovo je sada dopušteno:
neka element = ;
U ovom primjeru, AsyncComponent funkcija je asinkrona funkcija koja vraća JSX element. TypeScript 5.1 omogućuje vam korištenje ove vrste funkcije kao JSX komponente, što nije bilo moguće u prethodnim verzijama.
TypeScript 5.1 također predstavlja podršku za novu JSX transformaciju uvedenu u React 17. To vam omogućuje da koristite JSX bez uvoza Reacta.
// Prije
uvoz Reagirati iz"reagirati";funkcijakomponenta() {
povratakZdravo, svijete!</h1>;
}
// Nakon
funkcijakomponenta() {
povratakZdravo, svijete!</h1>;
}
U gornjem primjeru funkcija Component vraća JSX element. U TypeScript 5.1 i React 17 više ne morate uvoziti React da biste koristili JSX.
Poboljšanja performansi i značajne promjene u TypeScriptu 5.1
TypeScript 5.1 uvodi nekoliko optimizacija za poboljšanje performansi, uključujući optimizacije brzine, memorije i veličine paketa, izbjegavanje nepotrebne instancije tipa, negativne provjere velikih i malih slova za union literale i smanjene pozive skeneru za JSDoc raščlanjivanje.
Evo primjera izbjegavanja nepotrebne instancije tipa unutar tipova objekata za koje je poznato da ne sadrže reference na vanjske parametre tipa i bržih provjera literala unije.
tip Unija = 'a' | 'b' | 'c';
funkcijaček(vrijednost: Unija) {
// ...
}
U ovom primjeru, TypeScript 5.1 može brzo provjeriti je li vrijednost dio tipa Union bez potrebe za provjerom svakog tipa u uniji.
Evo još jednog primjera:
tip Točka = { x: broj, y: broj };
funkcijaPrevedi(točka: točka, dx: broj, dy: broj): Točka{
povratak { x: točka.x + dx, y: točka.y + dy };
}
neka p: Točka = { x: 1, y: 2 };
p = prevesti (p, 1, 1);
U ovom primjeru, tip Point je tip objekta koji ne sadrži nikakve parametre tipa. Kad pozove funkciju prevođenja, TypeScript 5.1 može izbjeći nepotrebno instanciranje tipa, što može znatno ubrzati provjeru tipa.
Prihvaćanje TypeScripta 5.1
TypeScript 5.1 uvodi niz snažnih značajki i optimizacija koje revolucioniraju razvoj JavaScripta. Od povratka pojednostavljenih funkcija do JSX poboljšanja i poboljšanja performansi, TypeScript 5.1 omogućuje vam pisanje čišćeg, izražajnijeg koda dok istovremeno poboljšava provjeru tipa i ukupnu izvedbu.
Prihvaćanjem TypeScripta 5.1 možete otključati nove mogućnosti i podići svoje JavaScript projekte na nove visine učinkovitosti i inovativnosti. Neka TypeScript 5.1 bude vaš pristup naprednijem i pojednostavljenom iskustvu razvoja JavaScripta.