1

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

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

我收到此错误:

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

但是它是一个 js 文件而不是 ts。代码在 Javascript 中无效吗?

4

2 回答 2

2

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

请参阅如何在 TypeScript 中为对象动态分配属性?http://typescript.codeplex.com/workitem/1657http://typescript.codeplex.com/discussions/397908

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

于 2015-04-30T07:41:38.067 回答
0

有一个规则来配置如何处理这些情况。默认值应该ignore在 JavaScript 中,但您可以将其配置为警告或错误:

{
    "javascript.validate.lint.unknownProperty": "ignore"
}
于 2015-04-30T10:47:15.403 回答