常量类型参数如何改善字面量推断,它与只读约束有什么本质区别
简答题中等661 次浏览
参考答案与解析
# 核心结论
const 类型参数用于改变泛型调用的推断偏好:当实参是直接写在调用位置的对象、数组或基本字面量时,编译器会尽量保留字面量值、元组结构以及属性之间的精确关系,减少调用者手动书写 as const 的需要。它不会冻结运行时对象,也不等同于 readonly 约束。const 类型参数回答的是“推断时优先选择多具体的类型”,而 readonly 回答的是“通过当前类型引用允许执行哪些写操作”。
function defineRoutes<const T extends readonly string[]>(routes: T): T {
return routes;
}
con
