JSLint相对于JSHint有哪些客观优势?

3

目前我们正在使用JSLint和JSHint。我非常尊重Crockford及其紧密使用Javascript的方式。我们采用扁平化风格编程,有很多函数。偶尔会出现循环定义。

'use strict'是一个优先考虑的事项。因此,我们不能使用'sloppy'或'undef'选项。

有没有人知道JSLint比JSHint具有客观优势?

这不是关于主观偏好的问题。我正在寻找像以下提示一样的内容:

例如:

  • 'regexp'警告关于.^,而JSHint似乎只警告关于.(大多数情况下很好)。

  • 没有替代'some_option'

从不同选项的数量来看,它们似乎相当类似。但是JSLint似乎更紧密。


1
我认为人们正在远离JSLint,现在JSHint得到了所有的赞誉。两者都很好,但JSHint有更多的选项,并且它可以处理ES6。 - elclanrs
1个回答

3

我知道你的问题是关于JSLint的优点,但我能想到的很少。但这是我的结论:

JSHint的优点:

  • 支持ES6语法(并且与规范保持更新)
  • 使用-Wxxx选项可以忽略任何警告
  • 更好的Web界面
  • 更好的工具集成(可通过npm、良好维护的Grunt插件等使用)

JSLint的优点:

  • 代码格式验证(在JSHint中仍可用white选项,但已被弃用,可能会被删除)
  • 强制使用单个上下文的var语句(在JSHint中仍可用onevar选项,但也已被弃用,JSLint是否具有此优点值得怀疑)

就我个人而言,强制使用单一变量听起来确实很有用 - 我无法想象自己会有意这样做。也许是因为我以前的生活中是一个Java程序员。或者C程序员。或者C++。或者Scala等等。 - djechlin
@djechlin - 这只是一种风格选择(var a = 1, b = 2; 而不是 var a = 1; var b = 2;)。基本上,JSLint 提供了比 JSHint 更多的规则来强制执行某种编码风格。 - James Allardice
哦,我以为你的意思是 var cat = "/usr/bin/cat"; /* ... */ var cat = Animal.makeCat(); - djechlin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接