[英]How to type this advanced function in Typescript?
This is the tricky function : 这是棘手的功能:
function getPropertyName(obj, expression) {
var res = {};
Object.keys(obj).map(k => { res[k] = () => k; });
return expression(res)();
}
And my unsuccessful attempt to type it : 而我尝试输入它失败:
getPropertyName<T>(obj: T, expression: (o: T) => any): string {
let res = {};
Object.keys(obj).map(k => { res[k] = () => k; });
return expression(res as T)();
}
This will give you no errors, however, your intention is not completely clear to me: 这不会给您任何错误,但是,您的意图对我而言并不完全清楚:
getPropertyName<T>(obj: T, expression: (o: T) => any): string {
const res: { [key: string]: any } = {};
Object.keys(obj).map((k) => { res[k] = () => k; });
return expression(res as T)();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.