为了账号安全,请及时绑定邮箱和手机立即绑定

当输入为 [key: string] 时,Typescript 不会检查对象属性是否存在

当输入为 [key: string] 时,Typescript 不会检查对象属性是否存在

慕勒3428872 2023-07-06 09:50:32
我将对象的对象键入为:export interface ObjectInterface {  [key: string]: SomeOtherObjectInterface;}然后假设我有这样的对象:const obj: ObjectInterface = {   a: ...,   b: ...,}然后,当我想访问某些对象属性时,它不是类型安全的:const x = obj.dsdssdsdsds;我的IDE没有任何错误。当我从中删除类型时,obj它会正确抛出错误。在这里可以做什么来使用我们的类型,但仍然会出现类似的错误Property 'dsds' does not exist on type......
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

Typescript4.1-beta已经解决了这个问题。

这是一个新选项:--noUncheckedIndexedAccess

启用后noUncheckedIndexedAccess会将 undefined 添加到类型中任何未声明的字段。

查看完整回答
反对 回复 2023-07-06
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信