打字稿:防止意外使用对象[索引]

时间:2017-02-03 18:53:19

标签: typescript

我很惊讶地注意到打字稿可以使用以下代码:

interface IFoo {
  bar: string;
}

const foo: IFoo = {bar: 'bar'};

console.log(
  foo['anything'] // I'd like typescript to prevent this
);

有没有办法在不期望的情况下阻止使用[]访问器?

1 个答案:

答案 0 :(得分:3)

  

有没有办法在不期望的情况下阻止使用[]访问器?

如果您想要抛出错误,可以启用noImplicitAny flag,这会导致以下错误:

  

元素隐式具有any类型,因为类型IFoo没有索引签名。