如何使用TypeScript类型系统检查字符串是否都是小写/大写?(不是运行时检查)



既然TypeScript包含了模板文字类型,那么如何断言字符串是全大写还是全小写呢?

T回退到永远不会,所以当未指定时你可以得到一个马。然后有条件地返回,如果形参不是泛型实参的大写,则永远不返回。

const upperLog = <T extends string = never>(str: `${Uppercase<T>}`): `${Uppercase<T>}` => {
return <T extends string ? `${Uppercase<T>}` : never>str;
};
upperLog<"c">("C");

相关内容

  • 没有找到相关文章