TypeScript 5.7: Javított hibajelentések és új funkciók

A TypeScript 5.7, a Microsoft által fejlesztett típusos JavaScript legújabb verziója, már elérhető a legújabb production release-ben. Az új verzió számos fejlesztést hoz, különös tekintettel a hibajelentésekre és a fejlesztői élmény javítására.

Főbb fejlesztések a TypeScript 5.7-ben


Hibajelentések nem inicializált változókra

A TypeScript 5.7 fontos fejlesztése, hogy mostantól képes hibát generálni, ha egy változó soha nem inicializálódik. Ezzel egy olyan problémát kezeltek, amelynél a korábbi verziókban a TypeScript néha "optimista" módon feltételezte, hogy egy változó inicializálódik, mielőtt azt használnák.

Például ha egy változót egy függvényen belül használtak, a TypeScript feltételezte, hogy az inicializálás megtörténik a függvény meghívása előtt, még akkor is, ha erre nem volt garancia. A 5.7-es verzióval a típusrendszer most már egyértelműen jelez, ha a változó soha nem inicializálódik, miközben továbbra is engedékeny marad azokkal a változókkal szemben, amelyek csak esetenként nem inicializáltak.

Új fordítói opció: --rewriteRelativeImportExtensions

A --rewriteRelativeImportExtensions opció segítségével a TypeScript át tudja írni a relatív importok kiterjesztését JavaScript-kompatibilis formátumra. Például a .ts, .tsx, .mts vagy .cts kiterjesztésű importok a fordítás során .js, .jsx, .mjs vagy .cjs kiterjesztésre változnak.

Ez az opció különösen hasznos olyan TypeScript kódoknál, amelyek közvetlenül futtathatóak a fordítás előtt, vagy a build folyamat során JavaScript-re fordítva éles környezetben használhatóak.

Korábbi kiadáshoz kapcsolódó fejlesztések

A TypeScript 5.7 a szeptemberben megjelent TypeScript 5.6 kiadása után érkezik, és tovább javítja a már meglévő funkciókat. Például a korábban bevezetett nullish és truthy ellenőrzések továbbfejlesztésre kerültek. A kód azon részein, ahol egy érték állapota (nullish vagy truthy) soha nem változik, ezek az ellenőrzések kikapcsolhatók lesznek, így javítva a teljesítményt és csökkentve a fölösleges ellenőrzések számát.

További fejlesztések

A TypeScript 5.7 számos egyéb újdonságot és fejlesztést tartalmaz, többek között:

  • ECMAScript 2024 támogatás: Az új verzió támogatja az --target es2024 opciót, amely lehetővé teszi az ECMAScript 2024 szabvány szerinti build cél megadását.

  • V8 fordítási cache Node.js-ben: Ez a fejlesztés gyorsabb futásidőt és hatékonyabb fordítást biztosít Node.js környezetben.

  • Osztálymetódusok következetessége: A metódusok viselkedése egységesebbé vált, különösen olyan esetekben, amikor generált non-literal propertynevekkel deklarálják őket.

  • Implicit any hibák kezelése: A generikus típust visszaadó szignatúrákkal kontextuálisan tipizált függvénykifejezéseknél a TypeScript most pontosabb hibajelentést ad, ha a noImplicitAny opció engedélyezve van.

  • tsconfig.json fájl automatikus felismerése: Amikor egy TypeScript fájlt szerkesztőprogram tölt be, például Visual Studio vagy Visual Studio Code, a rendszer most megpróbálja automatikusan megtalálni a megfelelő tsconfig.json fájlt.

  • Szabályok a .json importáláskor: A --module nodenext opció használatakor a TypeScript új szabályokat érvényesít a .json fájlok importálásánál, hogy elkerülhetők legyenek a futásidejű hibák.

Összegzés

A TypeScript 5.7 jelentős fejlesztéseket hoz a típusellenőrzés, hibajelentések és a fejlesztési élmény terén. Az új funkciók, például az inicializálatlan változók ellenőrzése és az importútvonalak átírása, még robusztusabbá és rugalmasabbá teszik a TypeScript használatát. A fejlesztők számára ezek a frissítések nagyban hozzájárulhatnak a kódminőség javításához és a hibák megelőzéséhez.

Osszd meg ezt a cikket
A szoftverek fejlődésének új korszaka
Az elmúlt évtizedekben a szoftverfejlesztés alapvetően meghatározta digitális világunkat, de a legújabb technológiai áttörések új korszakot nyitnak meg, ahol a számítógépek programozása gyökeresen átalakul. Andrej Karpathy, a Tesla korábbi mesterséges intelligencia igazgatója szerint a szoftverek fejlődése a korábbi évtizedek lassú változása után az utóbbi években drámai gyorsulást mutatott, ami alapjaiban írja újra a programozásról alkotott képünket.
Hogyan alakítja át a mesterséges intelligencia ökoszisztémát az OpenAI és a Microsoft viszonya?
A mesterséges intelligencia iparában zajló gyors technológiai és üzleti átalakulások egyik legszembetűnőbb példáját a Microsoft és az OpenAI kapcsolatának újradefiniálása jelenti. A két vállalat éveken át szoros szövetségben dolgozott együtt, ám a közelmúlt fejleményei világosan mutatják: az iparági logika immár nem a kizárólagos partnerségeket, hanem a rugalmasabb, többszereplős együttműködési modelleket részesíti előnyben.
Változás a Windows arcfelismerő funkciójában: már nem működik sötétben
A Microsoft a közelmúltban egy fontos biztonsági frissítést vezetett be a Windows Hello nevű arcfelismerő bejelentkezési rendszeréhez, amely a Windows 11-es operációs rendszer része. A módosítás hatására az arcfelismerés sötétben már nem működik, és a vállalat megerősítette, hogy ez nem technikai hiba, hanem tudatos döntés eredménye.
ASUS ROG Xbox Ally
Az utóbbi időben egyre több hordozható játékkonzol kerül piacra. Ezek az eszközök már nem csupán játékra szolgálnak – gyakorlatilag teljes értékű zsebkomputerek, amelyek akár a laptopokkal is felvehetik a versenyt. Mindez az új, alacsony fogyasztású AMD mobilprocesszoroknak köszönhető. Ebben a trendben kap szerepet a Microsoft és az ASUS közös bejelentése, amely néhány új ROG Xbox Ally konzolról szól. Ez nem csupán a jól ismert ROG Ally sorozat folytatása, hanem egy kísérlet egy Windows 11-alapú, hordozható játékplatform létrehozására.
Megérkezett a Babylon.js 8.0
A Microsoft egy évnyi intenzív fejlesztés után végre bemutatta a Babylon.js legújabb, 8.0-s verzióját. Az új kiadás számos korszerű funkcióval érkezik, melyek célja, hogy még gyorsabb és látványosabb, interaktív webes élményeket tegyen lehetővé. Az IBL árnyékok segítségével a környezet megvilágítása valósághűbbé válik, míg a területi fények lehetőséget adnak arra, hogy a 2D-s fénykibocsátás egyszerűen, de hatékonyan jelenjen meg. Emellett az alfa állapotban bemutatott Node Render Graph révén a fejlesztők teljes irányítást kapnak a renderelési folyamat felett, míg az új Lightweight Viewer és a WGSL Core Engine shaderek tovább csökkentik a fejlesztési időt és javítják a teljesítményt.
Kredit alapú Windows Notepad használat a Copilot integrációval
A Microsoft új funkciót vezet be a Windows Notepad-ba, amely segítségével elérhető a Microsoft Copilot, azaz mesterséges intelligencia segítségével javíthatjuk az írásainkat a jegyzettömbben. A funkció segítségével újrafogalmaztathatjuk az írásainkat, összefoglalót generálhatunk, vagy egyéb szöveg finomításokat végezhetünk, úgy mint például kiigazíthatjuk a hangnemet, vagy módosíthatunk a szöveg stílusán.