我希望下面的函数仅在其中有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.
}
有可能吗?
答案 0 :(得分:1)
您需要向通用类型参数添加约束:
function someFuntion<T extends { id: any}>(data : T){
let id = data['id']
id = data.id // also ok
}