Hlavní navigace

TypeScript opravuje typovú inferenciu predikátov

17. 7. 2024

Sdílet

Ruce klávesnice Autor: Depositphotos

TypeScript mal dlhodobo problém s korektnou inferenciou dátových typov pri aplikácií predikátov. Najnovšia verzia jazyka TypeScript 5.5 opravuje tento problém.

Predikát je funkcia alebo lambda výraz, ktorý vracia pravdivostnú hodnotu. Predikáty sa aplikujú napríklad pri filtrovaní dát pomocou filter funkcie.

let nums = [1, 2, 3, null, 5].filter(e => e !== null);

let res = nums.map(e => e * 2);
console.log(res);


function isWord(e: any) {

    return typeof e === "string";
}

let data = ['cup', 1, false, 2.3, 1, new Date(), 'sky', 'word']
let words = data.filter(isWord);
let uppered = words.map(e => e.toUpperCase());

console.log(uppered);

TypeScript 5.5 správne priradí dátový typ number[] pre premennú nums and string[] pre premennú words. Dovtedy inferoval všetky typy, ktoré boli v poli.

Rozdiel si môžete vyskúšať na stránke www.typescriptlang.org/play/.

Tato zprávička byla zaslána čtenářem serveru Root.cz pomocí formuláře Přidat zprávičku. Děkujeme!

Našli jste v článku chybu?

Byl pro vás článek přínosný?

Autor zprávičky