Aflați totul despre funcțiile pe care le introduce această ultimă versiune de TypeScript.

TypeScript, limbajul de programare popular al Microsoft, continuă să impresioneze cu cea mai recentă versiune, TypeScript 5.1. Dotată cu noi funcții și îmbunătățiri interesante, această versiune promite să vă ducă experiența de codificare la nou înălțimi.

Returnări simplificate de funcții și tipuri de accesorii

În JavaScript, când creați o funcție și executați-l fără a întâlni o instrucțiune return, returnează automat valoarea nedefinit.

TypeScript 5.1 a introdus o nouă caracteristică care permite funcțiilor care returnează nedefinite să omite cu totul instrucțiunea return. Această îmbunătățire îmbunătățește lizibilitatea și concizia codului.

funcţiejurnalMessage(mesaj: şir): nedefinit{
consolă.log (mesaj);
// Nu este necesară nicio declarație de returnare aici
}

Acest exemplu folosește funcția jurnalMessage pentru a afișa un mesaj pe consolă. Cu toate acestea, funcția nu returnează în mod explicit nicio valoare.

instagram viewer

TypeScript 5.1 introduce o nouă caracteristică care permite utilizarea de tipuri neînrudite pentru getters și setters, atâta timp cât furnizați adnotări de tip explicite.

Această îmbunătățire se dovedește a fi foarte avantajoasă în situațiile în care trebuie să impuneți tipuri distincte pentru accesarea și modificarea unei proprietăți.

clasă Utilizator {
privat _Nume: şir | nul = nul;

a stabilit nume (nume nou: şir) {
acest._name = newName;
}

obține Nume(): şir {
întoarcereacest._Nume?? 'Necunoscut';
}
}

În acest exemplu, clasa User are un privat _Nume proprietate care poate fi fie a şir sau nul. The Nume setter ia o sfoară nume nou și îi atribuie _Nume. Generatorul de nume returnează valoarea lui _Nume daca nu este nul, sau Necunoscut dacă este.

Acest lucru vă permite să impuneți că proprietatea nume poate fi setată doar cu un șir, dar când obțineți proprietatea nume, ar putea fi fie un șir, fie Necunoscut dacă nu a fost încă setat.

Această caracteristică permite definiții de tip mai flexibile și mai expresive, așa cum se arată în exemplul de mai jos.

interfață CSSStyleRule {
// Se citește întotdeauna ca `CSSStyleDeclaration`
obține stil(): CSSStyleDeclaration;

// Aici se poate scrie doar un `șir`.
a stabilit stil (newValue: şir);
}

În exemplul de mai sus, proprietatea style are un getter care returnează o declarație CSSStyleDeclaration și un setter care acceptă un șir. Aceste tipuri nu au legătură, dar TypeScript 5.1 permite acest tip de definire a tipului.

Îmbunătățiri JSX

TypeScript 5.1 introduce mai multe îmbunătățiri pentru JSX. Acum permite verificarea tipului decuplată între elementele JSX și tipurile de etichete JSX, care pot fi util pentru biblioteci precum redux care permit componentelor să returneze mai mult decât elemente JSX.

import * la fel de Reacţiona din"reacţiona";

asincronfuncţieAsyncComponent() {
întoarcere

Încărcat</div>;
}

// Acest lucru este acum permis:
lăsa element = ;

În acest exemplu, AsyncComponent funcția este o funcție asincronă care returnează un element JSX. TypeScript 5.1 vă permite să utilizați acest tip de funcție ca componentă JSX, ceea ce nu era posibil în versiunile anterioare.

TypeScript 5.1 introduce, de asemenea, suport pentru noua transformare JSX introdusă în React 17. Acest lucru vă permite să utilizați JSX fără a importa React.

// Inainte de
import Reacţiona din"reacţiona";

funcţieComponentă() {
întoarcere

Salut, lume!</h1>;
}

// După
funcţieComponentă() {
întoarcere

Salut, lume!</h1>;
}

În exemplul de mai sus, funcția Component returnează un element JSX. În TypeScript 5.1 și React 17, nu mai trebuie să importați React pentru a utiliza JSX.

Creșteri de performanță și modificări semnificative în TypeScript 5.1

TypeScript 5.1 introduce mai multe optimizări pentru a îmbunătăți performanța, inclusiv optimizarea vitezei, a memoriei și a dimensiunii pachetului, evitând instanțierea inutilă a tipului, verificările negative ale majusculelor pentru literalele uniunii și apelurile reduse în scaner pentru JSDoc analizare.

Iată un exemplu de evitare a instanției inutile de tip în cadrul tipurilor de obiecte despre care se știe că nu conțin referințe la parametrii de tip exterior și verificări mai rapide pentru literalele uniune.

tip Unirea = 'A' | 'b' | 'c';

funcţieVerifica(valoare: Unire) {
// ...
}

În acest exemplu, TypeScript 5.1 poate verifica rapid dacă o valoare face parte din tipul Union fără a fi nevoie să verifice fiecare tip din unire.

Iată un alt exemplu:

tip Punct = { x: număr, y: număr };

funcţieTraduceți(punct: punct, dx: număr, dy: număr): Punct{
întoarcere { x: punct.x + dx, y: punct.y + dy };
}

lăsa p: Punct = { x: 1, y: 2 };
p = traduce (p, 1, 1);

În acest exemplu, tipul Point este un tip de obiect care nu conține niciun parametru de tip. Când apelează funcția de traducere, TypeScript 5.1 poate evita instanțierea inutilă a tipului, ceea ce poate accelera semnificativ verificarea tipului.

Îmbrățișarea TypeScript 5.1

TypeScript 5.1 introduce o serie de funcții și optimizări puternice care revoluționează dezvoltarea JavaScript. De la reveniri simplificate la funcții la îmbunătățiri JSX și îmbunătățiri de performanță, TypeScript 5.1 vă permite să scrieți cod mai curat și mai expresiv, îmbunătățind în același timp verificarea tipului și performanța generală.

Prin adoptarea TypeScript 5.1, puteți debloca noi posibilități și puteți ridica proiectele JavaScript la noi culmi de eficiență și inovație. Lăsați TypeScript 5.1 să fie poarta dvs. de acces către o experiență de dezvoltare JavaScript mai avansată și mai eficientă.