const的使用方法
当推断一个对象的类型时,TypeScript 倾向于选择更通用的类型,比如下面示例
ts
declare function getNames<T extends string[]>(args: T): T
const names = getNames(['a', 'b', 'c']) // string[]如果需要推断更具体的类型,以前的做法是在每次传入参数时增加as const
ts
declare function getNames<T extends string[]>(args: T): T
const names = getNames(['a', 'b', 'c'] as const) // ["a", "b", "c"]而现在则是直接给泛型添加const,效果和上面一样
ts
declare function getNames<const T extends string[]>(args: T): T
const names = getNames(['a', 'b', 'c']) // ["a", "b", "c"]如果需要实现数组类型不可变,可以在
extends后加入readonly