Zistite všetko o funkciách, ktoré prináša táto najnovšia verzia TypeScript.
TypeScript, populárny programovací jazyk od Microsoftu, aj naďalej robí dojem vďaka svojej najnovšej verzii TypeScript 5.1. Táto verzia je nabitá vzrušujúcimi novými funkciami a vylepšeniami a sľubuje, že váš zážitok z kódovania bude nový výšky.
Zjednodušené návraty funkcií a typy prístupových objektov
V JavaScripte, keď vytvoríte funkciu a spustiť ho bez toho, aby sa stretol s príkazom return, automaticky vráti hodnotu nedefinované.
TypeScript 5.1 zaviedol novú funkciu, ktorá umožňuje funkciám, ktoré vracajú nedefinované, úplne vynechať príkaz return. Toto vylepšenie zlepšuje čitateľnosť a stručnosť kódu.
funkciulogMessage(správa: reťazec): nedefinované{
konzoly.log (správa);
// Tu nie je potrebný žiadny návratový príkaz
}
Tento príklad používa funkciu logMessage na zobrazenie správy na konzole. Funkcia však explicitne nevracia žiadnu hodnotu.
TypeScript 5.1 predstavuje novú funkciu, ktorá umožňuje použitie nesúvisiacich typov pre získavače a nastavovače, pokiaľ poskytnete explicitné anotácie typu.
Toto vylepšenie sa ukazuje ako veľmi výhodné v situáciách, keď potrebujete vynútiť odlišné typy prístupu a úpravy vlastnosti.
trieda Používateľ {
súkromné _názov: reťazec | nulový = nulový;nastaviť meno (newName: reťazec) {
toto._name = newName;
}
dostať názov(): reťazec {
vrátiťtoto._názov?? 'Neznámy';
}
}
V tomto príklade má trieda User private _názov vlastnosť, ktorá môže byť buď a reťazec alebo nulový. The názov setter vezme strunu newName a priradí to _názov. Názov getter vráti hodnotu _názov ak nie je nulový, alebo Neznámy keď to je.
To vám umožňuje vynútiť, že vlastnosť name môže byť nastavená iba pomocou reťazca, ale pri získavaní vlastnosti name to môže byť buď reťazec alebo Neznámy ak ešte nie je nastavený.
Táto funkcia umožňuje flexibilnejšie a expresívnejšie definície typov, ako je uvedené v príklade nižšie.
rozhranie CSSStyleRule {
// Vždy sa číta ako `CSSStyleDeclaration`
dostať style(): CSSStyleDeclaration;
// Sem možno napísať iba `reťazec`.
nastaviť štýl (newValue: reťazec);
}
Vo vyššie uvedenom príklade má vlastnosť style getter, ktorý vracia CSSStyleDeclaration a setter, ktorý akceptuje reťazec. Tieto typy spolu nesúvisia, ale TypeScript 5.1 umožňuje tento druh definície typu.
Vylepšenia JSX
TypeScript 5.1 prináša niekoľko vylepšení pre JSX. Teraz umožňuje oddelenú kontrolu typu medzi prvkami JSX a typmi značiek JSX, čo môže byť užitočné pre knižnice ako redux ktoré umožňujú komponentom vracať viac než len prvky JSX.
importovať * ako Reagovať od"reagovať";
asyncfunkciuAsyncComponent() {
vrátiťNačítané</div>;
}
// Toto je teraz povolené:
nech prvok = ;
V tomto príklade AsyncComponent funkcia je asynchrónna funkcia, ktorá vracia prvok JSX. TypeScript 5.1 vám umožňuje používať tento druh funkcie ako komponent JSX, čo v predchádzajúcich verziách nebolo možné.
TypeScript 5.1 tiež zavádza podporu pre novú transformáciu JSX uvedenú v React 17. To vám umožňuje používať JSX bez importovania React.
// Predtým
importovať Reagovať od"reagovať";funkciuKomponent() {
vrátiťAhoj svet!</h1>;
}
// Po
funkciuKomponent() {
vrátiťAhoj svet!</h1>;
}
Vo vyššie uvedenom príklade funkcia Component vracia prvok JSX. V TypeScript 5.1 a React 17 už nemusíte importovať React, aby ste mohli používať JSX.
Zvýšenie výkonu a významné zmeny v TypeScript 5.1
TypeScript 5.1 zavádza niekoľko optimalizácií na zlepšenie výkonu, vrátane optimalizácie rýchlosti, pamäte a veľkosti balíka, vyhnúť sa zbytočnému vytváraniu inštancií typu, negatívnym kontrolám veľkých písmen pre zjednocovacie literály a zníženému počtu volaní do skenera pre JSDoc parsovanie.
Tu je príklad, ako sa vyhnúť zbytočnému vytváraniu inštancií typu v rámci typov objektov, o ktorých je známe, že neobsahujú odkazy na parametre vonkajšieho typu, a rýchlejšie kontroly zjednocovacích literálov.
typu Únia = 'a' | 'b' | 'c';
funkciuskontrolovať(hodnota: Union) {
// ...
}
V tomto príklade môže TypeScript 5.1 rýchlo skontrolovať, či je hodnota súčasťou typu Union bez toho, aby bolo potrebné porovnávať všetky typy v únii.
Tu je ďalší príklad:
typu Bod = { x: číslo, y: číslo };
funkciupreložiť(bod: bod, dx: číslo, D Y: číslo): Bod{
vrátiť { x: bod.x + dx, y: bod.y + dy };
}
nech p: Bod = { x: 1, y: 2 };
p = preložiť (p, 1, 1);
V tomto príklade je typ Bod typom objektu, ktorý neobsahuje žiadne parametre typu. Keď zavolá funkciu translate, TypeScript 5.1 sa môže vyhnúť zbytočnej inštancii typu, čo môže výrazne urýchliť kontrolu typu.
Prijatie TypeScript 5.1
TypeScript 5.1 predstavuje rad výkonných funkcií a optimalizácií, ktoré spôsobujú revolúciu vo vývoji JavaScriptu. Od zjednodušených návratov funkcií k vylepšeniam JSX a zvýšeniu výkonu, TypeScript 5.1 vám umožňuje písať čistejší a výraznejší kód a zároveň zlepšuje kontrolu typu a celkový výkon.
Prijatím TypeScript 5.1 môžete odomknúť nové možnosti a pozdvihnúť svoje JavaScript projekty na novú úroveň efektívnosti a inovácie. Nechajte TypeScript 5.1 byť vašou bránou k pokročilejšiemu a efektívnejšiemu vývoju JavaScriptu.