A Microsoft a múlt hét végén jelentette be, hogy elérhetővé tette TypeScript programozási nyelv legújabb verzióját. Az új TypeScript 4.9 számos érdekes fejlesztést hoz, amik többek között a korábbiaknál lazább típusmegfelelőségi ellenőrzésének lehetőségével és automatikus típusszűkítéssel érkezik.

Az új satisfies kulcsszó úgy teszi lehetővé deklaratív módon típusmegfelelőség előírását összetett szerkezetekhez, hogy ez egyben nem kényszeríti bele az adott típusba a vizsgált kifejezést - mindössze azt garantálja, hogy utóbbi igény esetén lehetséges lehet majd. Ez azért jó, mert így megőrizhető a kifejezés elemeinek eredeti típusinformációja is, miközben garantálható lehet, hogy bizonyos kódok típushibák nélkül képesek működni az adott kifejezéssel.

Szintén a típusmegfelelőségi ellenőrzéseket érinti az új verzió egy másik újdonsága is, ami az egy adott mező meglétének ellenőrzésére használható in operátort bővíti automatikus típusszűkítő hatással. Utóbbi azt jelenti, hogy az operátor teljesítését (tehát a mező meglétét) vizsgáló if ágon a fordító már tudni fogja, hogy az adott nevű mező létezik, és így lehetővé teszi a közvetlen hivatkozást is az adott mezőre anélkül, hogy ez figyelmeztetést vagy hibát váltana ki.

Ugyanakkor a "NaN" (Not-a-Number) értékek esetén pontosan ezzel ellentétes irányban okosodik a nyelv: a TypeScript fordító ugyanis mostantól hibát fog jelezni, ha valamit megpróbálunk az ilyen típusú értékhez hasonlítani - az ugyanis sosem lesz egyenlő semmilyen más értékkel (beleértve a NaN-t is), így az ilyen feltételvizsgálatok értelmetlenek. Ehelyett a fordító a Number.isNaN használatát fogja javasolni, mert ezzel lehet megállapítani, hogy egy érték NaN -e.

A TypeScript 4.9 további fejlesztéseiről részletesen itt lehet olvasni, míg beszerezni az új verziót legegyszerűbben az npm segítségével lehet.