Tudjon meg mindent a TypeScript legújabb verziója által bevezetett funkciókról.

A TypeScript, a Microsoft népszerű programozási nyelve továbbra is lenyűgözi legújabb kiadását, a TypeScript 5.1-et. Az izgalmas új funkciókkal és fejlesztésekkel teli verzió azt ígéri, hogy újszerűvé teszi a kódolási élményt Magasság.

Egyszerűsített függvényvisszaadások és kiegészítő típusok

JavaScriptben, amikor függvényt hoz létre és végrehajtja anélkül, hogy visszatérési utasítással találkozna, automatikusan visszaadja az értéket határozatlan.

A TypeScript 5.1 új funkciót vezetett be, amely lehetővé teszi, hogy az undefined módon visszaadó függvények teljesen elhagyják a return utasítást. Ez a fejlesztés javítja a kód olvashatóságát és tömörségét.

funkciólogMessage(üzenet: húr): határozatlan{
konzol.log (üzenet);
// Itt nincs szükség return utasításra
}

Ez a példa a függvényt használja logMessage üzenet megjelenítéséhez a konzolon. A függvény azonban nem ad vissza kifejezett értéket.

A TypeScript 5.1 új funkciót vezet be, amely lehetővé teszi a nem kapcsolódó típusok használatát a getterek és a beállítók számára, amennyiben explicit típusú megjegyzéseket ad meg.

instagram viewer

Ez a továbbfejlesztés rendkívül előnyösnek bizonyul olyan helyzetekben, amikor külön típusokat kell kényszeríteni egy tulajdonság eléréséhez és módosításához.

osztály felhasználó {
magán _név: húr | nulla = nulla;

készlet név (újName: húr) {
ez._name = újNév;
}

kap név(): húr {
Visszatérésez._név?? 'Ismeretlen';
}
}

Ebben a példában a User osztály privát _név tulajdonság, amely lehet akár a húr vagy nulla. A név setter vesz egy karakterláncot új név és hozzárendeli _név. A név getter a következő értékét adja vissza _név ha nem az nulla, vagy Ismeretlen ha az.

Ezzel kikényszeríthető, hogy a name tulajdonságot csak stringgel lehessen beállítani, de a name tulajdonság beszerzésekor akár string, ill. Ismeretlen ha még nincs beállítva.

Ez a funkció rugalmasabb és kifejezőbb típusdefiníciókat tesz lehetővé, amint az az alábbi példában látható.

felület CSSStyleRule {
// Mindig `CSSStyleDeclaration`ként olvasható
kap style(): CSSStyleDeclaration;

// Ide csak `karakterláncot` lehet írni.
készlet stílus (újÉrték: húr);
}

A fenti példában a style tulajdonságnak van egy getterje, amely egy CSSStyleDeclaration-t ad vissza, és egy setter, amely elfogad egy karakterláncot. Ezek a típusok nem kapcsolódnak egymáshoz, de a TypeScript 5.1 lehetővé teszi az ilyen típusú típusdefiníciókat.

JSX fejlesztések

A TypeScript 5.1 számos fejlesztést vezet be a JSX-hez. Mostantól lehetővé teszi a szétválasztott típusellenőrzést a JSX elemek és a JSX címketípusok között, ami lehet hasznos olyan könyvtárak számára, mint a redux amelyek lehetővé teszik, hogy a komponensek ne csak JSX elemeket adjanak vissza.

import * mint Reagál tól től"reagál";

asyncfunkcióAsyncComponent() {
Visszatérés

Betöltve</div>;
}

// Ez most engedélyezett:
hagyja elem = ;

Ebben a példában a AsyncComponent A függvény egy aszinkron függvény, amely egy JSX elemet ad vissza. A TypeScript 5.1 lehetővé teszi, hogy ezt a fajta függvényt JSX-komponensként használja, ami a korábbi verziókban nem volt lehetséges.

A TypeScript 5.1 támogatja a React 17-ben bevezetett új JSX-transzformációt is. Ez lehetővé teszi a JSX használatát a React importálása nélkül.

// Előtte
import Reagál tól től"reagál";

funkcióÖsszetevő() {
Visszatérés

Helló világ!</h1>;
}

// Után
funkcióÖsszetevő() {
Visszatérés

Helló világ!</h1>;
}

A fenti példában az Összetevő függvény egy JSX elemet ad vissza. A TypeScript 5.1-ben és a React 17-ben már nem kell importálnia a React-ot a JSX használatához.

Teljesítménynövekedés és jelentős változások a TypeScript 5.1-ben

A TypeScript 5.1 számos optimalizálást vezet be a teljesítmény javítása érdekében, beleértve a sebesség, a memória és a csomagméret optimalizálását, elkerüli a szükségtelen típuspéldányosítást, a negatív kis- és nagybetűk ellenőrzését az unió literáloknál, valamint a JSDoc szkennerbe történő behívások csökkentését elemzése.

Íme egy példa a szükségtelen típuspéldányosítás elkerülésére olyan objektumtípusokon belül, amelyekről ismert, hogy nem tartalmaznak hivatkozásokat külső típusparaméterekre, és gyorsabban ellenőrzi az egyesítő literálokat.

típus Unió = "a" | "b" | 'c';

funkciójelölje be(érték: Unió) {
// ...
}

Ebben a példában a TypeScript 5.1 gyorsan ellenőrizheti, hogy egy érték az Unió típusának része-e, anélkül, hogy az unióban lévő összes típussal össze kellene hasonlítania.

Íme egy másik példa:

típus Pont = { x: szám, y: szám };

funkciófordít(pont: pont, dx: szám, dy: szám): Pont{
Visszatérés {x: pont.x + dx, y: pont.y + dy};
}

hagyja p: Pont = { x: 1, y: 2 };
p = lefordítani (p, 1, 1);

Ebben a példában a Ponttípus egy olyan objektumtípus, amely nem tartalmaz típusparamétereket. A Translate függvény meghívásakor a TypeScript 5.1 elkerülheti a szükségtelen típuspéldányosítást, ami jelentősen felgyorsíthatja a típusellenőrzést.

A TypeScript 5.1 átvétele

A TypeScript 5.1 számos hatékony funkciót és optimalizálást mutat be, amelyek forradalmasítják a JavaScript fejlesztését. Az egyszerűsített funkcióktól a JSX fejlesztésekig és teljesítménynövelésekig a TypeScript 5.1 lehetővé teszi, hogy tisztább, kifejezőbb kódokat írjon, miközben javítja a típusellenőrzést és az általános teljesítményt.

A TypeScript 5.1 elfogadásával új lehetőségeket nyithat meg, és a hatékonyság és az innováció új magasságaiba emelheti JavaScript-projektjeit. Legyen a TypeScript 5.1 átjárója egy fejlettebb és egyszerűbb JavaScript-fejlesztési élményhez.