无法发现是否可以使用类型别名断言属性的值类型。这是我的例子:
type Primitive = string | number | boolean;
function comparePrimitives(a:Primitive, b:Primitive): number { /*...*/ }
export function fromKey<T extends object> (key: keyof T)
{
return function(a: T, b: T): number {
return comparePrimitives(a[key], b[key]); // TS2345
};
}
我遇到的问题是,发生了 TS2345。我希望能够构建一个只允许T[keyof T]
原始值的函数签名。