Typescript:防止意外使用对象[索引]
我很惊讶地注意到typescript可以使用以下代码:Typescript:防止意外使用对象[索引],typescript,Typescript,我很惊讶地注意到typescript可以使用以下代码: interface IFoo { bar: string; } const foo: IFoo = {bar: 'bar'}; console.log( foo['anything'] // I'd like typescript to prevent this ); 是否有方法防止在不期望的情况下使用[]访问器 是否有方法防止在不期望的情况下使用[]访问器 如果希望抛出错误,可以启用,这将导致以下错误: 元素隐式地具有any
interface IFoo {
bar: string;
}
const foo: IFoo = {bar: 'bar'};
console.log(
foo['anything'] // I'd like typescript to prevent this
);
是否有方法防止在不期望的情况下使用[]访问器
是否有方法防止在不期望的情况下使用[]访问器
如果希望抛出错误,可以启用,这将导致以下错误:
元素隐式地具有any
类型,因为类型IFoo
没有索引签名
好吧,这就是为什么我感到惊讶。我通常默认激活
noImplicitAny
。不幸的是,我还没有准备好在我当前的项目中激活它。这里有一个typescript问题,它提供了关于这个设计选择的见解:@TomEsterez-太好了,谢谢你的链接。我想知道为什么它也是这样实现的。