【问题标题】:Strange JavaScript warning in VS IDEVS IDE 中的奇怪 JavaScript 警告
【发布时间】:2020-10-05 16:02:21
【问题描述】:

我在 Visual Studio 中收到一个奇怪的代码语法警告,需要一点 JavaScript:

If(1==1) {
  alert("!");
}

警告在左大括号上:

TS1005 (JS) ';'预计。

我尝试在右大括号后添加一个分号,但这并没有什么不同:

我还确定,当此 if 块包含在脚本中的任何位置(带有或不带有尾随分号)时,整个脚本将无法在浏览器中执行(Chrome,最新版本)。

根据W3Schools,语法是正确的。

这看起来很奇怪。这里出了什么问题?

【问题讨论】:

  • JavaScript 是区分大小写的,不是吗? If 不是关键字,但if
  • 你的if 有一个大写的I

标签: javascript visual-studio-2019


【解决方案1】:

If 不应有大写字母。 If 被 VS 识别为函数,因此需要 ;。应使用if 而不是If 来修复警告。我在我的 VS IDE 上进行了本地测试,并使用 If 生成了相同的警告,但 if 很好。

【讨论】:

  • 警告是正确的——If(1==1) 被解析为一个函数(因为If 不是关键字),后面会跟一个分号、换行符或二元运算符。由于语法检查器不知道其意图是写入 if(1==1),因此它会在遇到 { 字符时发出错误。
  • 哎呀!我被区分大小写的错误(是的,错误)所困扰。这一集进一步支持了我的咆哮,即区分大小写与编程语言无关。
  • @InteXX 会有 99 个人告诉你它属于它。语言stackoverflow.com/questions/503218/…是有原因的
  • 根据那个答案,这是过去时代的[痛苦]遗物。 | @epascarello
  • 当您在一个拥有大量开发人员的大型组织工作时,您需要统一的代码。您不想查看一个文件并查看 IF() 和另一个 iF() 以及另一个 If() 和另一个 if() ......我们都运行 linter 并安装 prettiers 是有原因的。我敢肯定,如果你想编写任何语法,而不是编写一个转译器并让它纠正“错别字”
猜你喜欢
  • 2012-05-29
  • 2013-07-16
  • 2012-03-04
  • 2011-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多