如何制作一个类型检查某些属性,但也允许任何属性的Typescript接口?

如何制作一个类型检查某些属性,但也允许任何属性的Typescript接口?,typescript,Typescript,我有一些Typescript接口,它定义了一些属性,但也可以被视为任何对象 interface IBob { makesBurgers?: boolean; hasRestaurant?: boolean; [key: string]: any; // whatever other properties someone wants to thow at it } 上面的代码编译得很好,但它没有将makeBurgers类型检查为boolean。以下代码未显示任何错误: const

我有一些Typescript接口,它定义了一些属性,但也可以被视为
任何对象

interface IBob {
  makesBurgers?: boolean;
  hasRestaurant?: boolean;
  [key: string]: any;  // whatever other properties someone wants to thow at it
}
上面的代码编译得很好,但它没有将
makeBurgers
类型检查为
boolean
。以下代码未显示任何错误:

const Bob: IBob = {};
Bob.makesBurgers = "sure"; // would be nice if this was an error, but it isn't
我怎样才能创建一个尽可能多地进行类型检查的接口,而不定义它可能拥有的每一个属性


编辑:在某些情况下,某些ts lint似乎没有捕捉到此错误,而在更为更新的游乐场中则捕捉到了此错误。这是旧版本ts lint的一个问题,解决方案是更新。

类型检查器应为此抛出一个错误(在TypeScript 2.6上确实如此)。您的IDE似乎是问题所在,您可能应该检查您的版本是否正确,或者重新安装


请注意,这与
tslint
无关
tslint
添加了更多诊断,除非IDE
tslint
插件上存在错误,否则它不应删除任何TypeScript诊断。

类型检查器应为此抛出错误(它在TypeScript 2.6上执行)。您的IDE似乎是问题所在,您可能应该检查您的版本是否正确,或者重新安装


请注意,这与
tslint
无关
tslint
添加了更多诊断,除非IDE
tslint
插件上有错误,否则不应删除任何TypeScript诊断。

这是一个错误。它必须是我为VSCode安装的linter,然后。。。非常感谢。如果你愿意,你可以回答我,我会接受的。未来其他人可能会有类似的皮棉问题,并且不会认为这是皮棉的错。这是一个错误。它一定是我为VSCode安装的linter,然后。。。非常感谢。如果你愿意,你可以回答我,我会接受的。未来其他人可能会有类似的皮棉问题,并且不会认为这是皮棉的错。