строчка (1) имеет тип T & string
type result<T extends string|number> = T extends string ? string: number;
function bad<T extends string|number>(xs:T):result<T> {
if(typeof xs === "string") {
return xs; // (1) <----- ERROR
}
return xs;
}
вот статья по этой теме https://medium.com/@jackhmwilliams/type-narrowing-in-typescript-44a6757c5a64
Обсуждают сегодня