A TypeScript 5.9 egyik legfontosabb újítása a halasztott modulkiértékelés (deferred module evaluation) támogatása az import defer
szintaxison keresztül, amely az ECMAScript egy jövőbeli szabványjavaslatát ülteti át a gyakorlatba. Ennek a funkciónak a lényege, hogy lehetővé teszi egy modul importálását anélkül, hogy annak kódja – és a hozzá tartozó függőségek – azonnal végrehajtásra kerülnének. A kiértékelés csupán akkor történik meg, amikor a kódban először hivatkozunk a modul valamelyik exportált elemére. Ez a megközelítés jelentősen javíthatja az alkalmazások indulási sebességét, különösen olyan esetekben, amikor nagy méretű vagy platformspecifikus modulokkal dolgozunk, amelyekre nincs szükség azonnal a program futásának kezdetén. Fontos kiemelni, hogy ez a szintaxis kizárólag névterek importálására használható (például import defer * as feature from "./feature.js"
), a nevesített vagy alapértelmezett importokat nem támogatja.
A fejlesztői élmény javításának jegyében a projektkonfiguráció folyamata is érezhetően egyszerűbbé vált. A tsc --init
parancs mostantól egy sokkal letisztultabb és minimalistább tsconfig.json
fájlt hoz létre. Ahelyett, hogy a fejlesztőt elárasztaná az összes lehetséges beállítási opcióval és a hozzájuk tartozó magyarázatokkal, az új alapértelmezett konfiguráció csak a legszükségesebb elemekre fókuszál, és olyan modern beállításokat tartalmaz, mint a "module": "nodenext"
, a "target": "esnext"
és a "jsx": "react-jsx"
. Ez a változás nemcsak az új projektek elindítását teszi gördülékenyebbé, hanem a tapasztalt fejlesztők számára is csökkenti a felesleges konfigurációs terheket. Ezt egészíti ki az új --module node20
kapcsoló bevezetése, amely egy stabil és kiszámítható módot kínál a Node.js 20-as verziójának megfelelő modulfeldolgozás beállítására. Ez egy megbízhatóbb alternatívát nyújt a folyamatosan fejlődő "nodenext"
opcióval szemben, ami különösen vállalati és éles (production) környezetekben garantálja a konzisztensebb fordítási eredményeket.
A TypeScript 5.9 a kódszerkesztőben végzett mindennapi munka hatékonyságát is növeli. A támogatott szerkesztőkben, mint például a Visual Studio Code, a típusinformációkat megjelenítő felugró ablakok (hoverek) interaktívvá váltak. Amikor egy fejlesztő egy mélyen beágyazott, összetett típussal találkozik, mostantól nem kell a definíciók között elvesznie: egyszerű +
és -
gombok segítségével kibonthatja vagy összecsukhatja a típusdefiníció részeit közvetlenül a felugró ablakban. Ez a funkció rendkívül leegyszerűsíti a komplex típusok megértését anélkül, hogy el kellene hagyni az aktuális kódrészletet. Azok számára pedig, akik még több részletre kíváncsiak, a felugró ablakok maximális hossza mostantól konfigurálható a js/ts.hover.maximumLength
beállítással, így még átfogóbb típusinformációk válhatnak elérhetővé egyetlen mozdulattal.
A motorháztető alatt is történtek jelentős fejlesztések, amelyek a fordítási folyamat sebességét optimalizálják. A TypeScript 5.9 kézzelfogható gyorsulást hoz a mindennapi munkába. A fejlesztőcsapat finomította a típus-példányosítás gyorsítótárazását (type instantiation caching), ami csökkenti a felesleges, köztes típusok ismétlődő kiszámítását. Ennek előnyei különösen nagy méretű kódbázisok és komplex külső könyvtárak használata esetén mutatkoznak meg. Emellett a fájlok létezésének ellenőrzését is hatékonyabbá tették, ami egy nagyobb projekt esetében akár 11%-kal is felgyorsíthatja a fordítási időt, érezhetően lerövidítve ezzel a fejlesztési ciklusokat.
Összefoglalva, a TypeScript 5.9 egy érett, a finomhangolásra összpontosító kiadás. A futásidejű teljesítményt javító halasztott importálás, a gyorsabb projektindítást lehetővé tévő egyszerűsített konfiguráció, a produktivitást növelő intelligensebb szerkesztői eszközök és a jelentős fordítási optimalizációk együttesen egy olyan frissítéscsomagot alkotnak, amely vonzóvá teszi a váltást.