问题描述
为了使用可选的 catch 绑定,我需要使用 ES10。所以我将 Visual Studio Code 设置为 esversion: 10。但是,settings.json 不断给我问题“不接受值。有效值:3、5、6、7、8、9。”
JSHint 文档专门命名 esversion 10:参见 https://jshint.com/docs/options/
有谁知道为什么 VSCode 不接受 esversion 10,甚至更好的是,如何改变它?
Settings.json 文件位于 C:\Users
解决方法
Visual Studio Code 的 JSHint 扩展似乎并未随每次 JSHint 更新而更新。例如,如果您在 settings.json 中写入 "esversion": 10
(甚至 "esversion": 15
!!!),该行会收到警告,正如您所描述的,但是代码类似于 optional catch binding 现在是允许的!因此,尽管有警告,"esversion": 10
的理解是正确的。
因此,一种解决方案是在 settings.json 中保留此警告,但让 JSHint 在所有其他文件中正常工作。
但是,这是我更喜欢的(解决方法,而不是解决方案):
在 settings.json 文件中保留 "esversion": 9
,当您碰巧需要可选的捕获绑定或其他一些 es10 功能时,将其放在此特定文件的顶部:>
/* jshint esversion: 10 */
您需要输入这额外的一行,但现在,任何地方都没有错误。此外,您还可以通过这种方式查看最近使用的任何功能(某些用户可能无法使用这些功能)。