繁体   English   中英

为什么VSCode对象检查工具在对象内部添加了神秘字段?

[英]Why VSCode object inspection tool add mysterious field inside object?

它添加[x: string]: any; 任何物体。 为什么? 对象上没有x属性...

VSCode弹出帮助器

这个第二个例子演示了一个问题-当我将鼠标悬停在polygon.y += 5表达式中的polygon绑定名称上时,IntelliSense会显示一个弹出窗口,其中[x: string]: any; 位于大括号 ,所以很容易认为polygon对象有x属性,不是吗? 您是否同意IntelliSense应该显示[x: string]: any对象定义上方的[x: string]: any内容?

第二个例子

[x: string]: any; 是类型签名。 它说一个对象可以具有任意数量的属性,因此如果您这样做,它就不会将其标记为错误。

levelChars.sth = "sth";

有时正是您想要的,但主要是一个错误。 Typescript会将其标记为错误,并为您的对象提供严格的签名(不带[x: string]: any; )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM