打字稿:强制执行泛型以强制使用某些键
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打字稿:强制执行泛型以强制使用某些键相关的知识,希望对你有一定的参考价值。
我想下面的函数应该只接受data
对象,如果有id
键。然后,想要从id
访问data
。
function someFuntion<T>(data : T){
const id = data['id'] //Error : Element implicitly has an 'any' type because type '{}' has no index signature.
}
可能吗?
答案
您需要为泛型类型参数添加约束:
function someFuntion<T extends { id: any}>(data : T){
let id = data['id']
id = data.id // also ok
}
以上是关于打字稿:强制执行泛型以强制使用某些键的主要内容,如果未能解决你的问题,请参考以下文章