javascript - 无法使用 Visual Studio Code 向 Javascript 中的现有对象添加属性

标签 javascript javascript-intellisense visual-studio-code

我正在新的 Visual Studio Code 中尝试一些简单的 Javascript。使用以下js代码:

var obj = { abc: "test" };
obj.foo = "bar";

我收到这个错误:

Property 'foo' does not exist on type '{ abc: string; }'.

但是它是一个js文件而不是ts。该代码在 Javascript 中是否有效?

最佳答案

这实际上是设计使然。它可能被认为是有效的 JavaScript,但它不是有效的 TypeScript 语法。

参见 How do I dynamically assign properties to an object in TypeScript? , http://typescript.codeplex.com/workitem/1657 , 和 http://typescript.codeplex.com/discussions/397908 .

好消息是,JavaScript 未编译,因此该文件仍可在您的客户端上正常运行,因为 tsc.exe 永远不会真正针对 .js 文件运行。

关于javascript - 无法使用 Visual Studio Code 向 Javascript 中的现有对象添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29961448/

相关文章:

javascript - 我应该在 Sails.js 中的哪里扩展 ServerResponse 原型(prototype)?

javascript - ES6 处理对象(Reduce 函数)

javascript - 使用 JS 在 DOM 中添加元素

visual-studio-2017 - Visual Studio 2017 RTM JavaScript IntelliSense无法正常工作

go - 如何强制 VSCode 在 goimports 匹配多个同名包的情况下需要手动选择?

使用 Delve 在 VSCode 上调试 GO

javascript - JSF/JSP - 初学者问题

javascript - VS Code Intellisense for javascript 没有给出方法建议

javascript - Visual Studio 2010 中缺少 javascript 智能感知

git - 为什么 .gitignore 不忽略我的文件?