gpt4 book ai didi

javascript - asi 模式下在括号前添加分号

转载 作者:行者123 更新时间:2023-11-28 20:58:59 24 4
gpt4 key购买 nike

我正在使用 JSHint 对 JavaScript 进行 linting,并启用此选项

"asi": true,
"white": true

避免在我的代码中使用分号。

但是我必须用括号开始我的新行,所以我必须在该行的开头之前加上分号

;(function () {

})

JSHint 给我两个错误:

  • “;”后缺少空格
  • 如果我在“;”后面加一个空格我得到:预期“(”具有不同的标识

我注意到这样 JSHint 很高兴

;
(function () {

})

但我认为这不是一个好的解决方案。

有没有办法在不关闭 JSHint 或 white 选项的情况下解决这个问题?

最佳答案

JSHint 中的旧版 white: true 选项用于强制 Douglas Crockford 所提倡的编码风格。在他的原创中JSLint工具。没有分号的 JavaScript 代码不适合他的编码风格。如果您不想受限于他的风格指南,那么就不要使用 white: true

This list of JSHint options不显示任何参数来自定义它们强制执行的编码风格。

为了证明这个问题没有答案,我在 JSHint 源代码中找到了相关检查:

function nonadjacent(left, right) {
if (option.white) {
left = left || token;
right = right || nexttoken;
if (left.line === right.line && left.character === right.from) {
left.from += (left.character - left.from);
warning("Missing space after '{a}'.",
left, left.value);
}
}
}

唯一检查的配置选项是option.white,因此不幸的是没有任何方法可以实现您想要的行为。如果您确实想要一个能够完全满足您要求的工具,您可以轻松 fork JSHint ,添加另一个选项,并在 nonadjacent 函数中检查它。

关于javascript - asi 模式下在括号前添加分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11523633/

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