gpt4 book ai didi

javascript - jshint 是否根据函数是否无效给出 "missing semicolon"?

转载 作者:行者123 更新时间:2023-11-30 14:10:49 25 4
gpt4 key购买 nike

我在 VSCode 中使用 jshint。 jshint 在下面函数的末尾 '}' 处给出“缺少分号”警告

void function doSomething(){
console.log('Hello, World');
}

enter image description here

并且加上分号就满足jshint:

enter image description here

但是在我删除 void 之后,警告消失了,没有分号:

void function doSomething(){
console.log('Hello, World');
}

enter image description here

这背后的逻辑是什么?更一般地说,是否有官方风格指南,例如 PEP8 in Python Javascript 解决分号的最佳实践?

最佳答案

根据您拥有的 linting 规则:

  • 函数声明后不需要跟分号。
  • 表达式,包括那些包含函数表达式的表达式。

通过将 void 运算符放在 function 关键字之前,您可以强制它进入表达式上下文。

因为它是在表达式上下文中,所以你对表达式中的函数什么都不做,并且你将结果作废,它变得毫无意义。该表达式根本不执行任何操作。它甚至没有创建一个存储函数的变量,这就是为什么会出现这个错误:

void function x() { console.log(1) };
x();

More generally, what's the best practice rule on semicolns in javascript?

高度固执己见的主题。

关于javascript - jshint 是否根据函数是否无效给出 "missing semicolon"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54502876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com