问题 #
实现 StartsWith<T, U> 它接受两种精确的字符串类型,并返回 T 是否以 U 开头
type case1 = StartsWith<'abc', 'ac'> // false
type case2 = StartsWith<'abc', 'ab'> // true
type case3 = StartsWith<'abc', 'abcd'> // false
type case4 = StartsWith<'', 'abcd'> // false
type case5 = StartsWith<'abc', 'a'> // true
type case6 = StartsWith<'abc', ''> // true解答 #
type StartsWith<T extends string, U extends string> = T extends `${U}${infer _R}` ? true : false拆分 #
- 直接用
ts字符串分配特性解决