我尝试使用代理来添加逻辑,每当我的数组中的值被设置为一个新值。然而,TypeScript抱怨,因为它不喜欢数组被索引为非数字的东西。
const nums = [1, 2, 3, 4, 5];
const handler: ProxyHandler<number[]> = {
set(target: number[], property: string | symbol, newValue: any) {
target[property] = newValue;
return true;
},
};
const proxy = new Proxy(nums, handler);
在带有target[property] = newValue;
的行上,我得到错误Element implicitly has an 'any' type because index expression is not of type 'number'.ts(7015)
。
有什么好办法让TypeScript高兴吗?
1条答案
按热度按时间b4wnujal1#
你用
string
来索引数组吗?不,你通常用number
来索引数组,这是TS告诉你的。Playground链接