Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我希望vs代码对java脚本文件中未定义的属性发出警告_Javascript_Visual Studio Code_Vscode Settings - Fatal编程技术网

Javascript 我希望vs代码对java脚本文件中未定义的属性发出警告

Javascript 我希望vs代码对java脚本文件中未定义的属性发出警告,javascript,visual-studio-code,vscode-settings,Javascript,Visual Studio Code,Vscode Settings,假设我有以下代码: const variable = { a: 2 } console.log(variable.a); console.log(variable.b); 是否可以配置vs code,以便发出b未定义的警告?目前,它没有说明任何问题。ESlint扩展应该可以解决您的问题。ESlint扩展应该可以解决您的问题。除非有插件实际运行您的代码(和所有分支),否则您只能猜测因为对象可以随时修改以包含该属性。这就是Typescript存在的原因。与其使用变量,不如简单地做一个对象

假设我有以下代码:

const variable = {
    a: 2
}

console.log(variable.a);
console.log(variable.b);

是否可以配置vs code,以便发出
b
未定义的警告?目前,它没有说明任何问题。

ESlint扩展应该可以解决您的问题。

ESlint扩展应该可以解决您的问题。

除非有插件实际运行您的代码(和所有分支),否则您只能猜测因为对象可以随时修改以包含该属性。这就是Typescript存在的原因。与其使用
变量
,不如简单地做一个
对象
,您可以为此创建一个特定类型,并保证它只具有某些属性,如果您试图调用未定义的属性,那么Typescript编译器将无法编译成JavaScript。这可能是您的最佳选择,因为它不需要特殊的编辑器设置来捕捉每个开发人员的机器,而且纯JavaScript故意对未定义的属性和诸如此类的内容松懈。@Nate谢谢您的注释。但我正在发展。TypeScription仍然不容易使用,除非有插件实际运行您的代码(和所有分支),否则您只能猜测,因为对象可以随时修改以包含该属性。这就是Typescript存在的原因。与其使用
变量
,不如简单地做一个
对象
,您可以为此创建一个特定类型,并保证它只具有某些属性,如果您试图调用未定义的属性,那么Typescript编译器将无法编译成JavaScript。这可能是您的最佳选择,因为它不需要特殊的编辑器设置来捕捉每个开发人员的机器,而且纯JavaScript故意对未定义的属性和诸如此类的内容松懈。@Nate谢谢您的注释。但我正在发展。它仍然不能轻松地与typescriptI兼容,但它只能检测未定义的变量。例如,它抱怨
console.log(一些未定义的变量)
但它无法检测到对象的属性
b
未定义。(
console.log(variable.b);
)我厌倦了Eslint,但它只能检测未定义的变量。例如,它抱怨
console.log(一些未定义的变量)
但它无法检测到对象的属性
b
未定义。(
console.log(variable.b);