Javascript 为什么jshint会抱怨表达式中的换行符?

Javascript 为什么jshint会抱怨表达式中的换行符?,javascript,jshint,Javascript,Jshint,将以下代码传递给jshint时,它认为if条件中的换行符是错误的,表示“在“&&”之前换行错误” 但是,在“&&”之后使用换行符是可以的 if (1 == 1 && true) { console.log("hello world"); } 为什么JSITT认为第一个是错的,后者是正确的? < P> > JSHIN的创建者可能不喜欢这种类型的包装,而在第一行中更喜欢

将以下代码传递给jshint时,它认为if条件中的换行符是错误的,表示“在“&&”之前换行错误”

但是,在“&&”之后使用换行符是可以的

if (1 == 1 && 
        true) {
    console.log("hello world");
}

为什么JSITT认为第一个是错的,后者是正确的?

< P> > JSHIN的创建者可能不喜欢这种类型的包装,而在第一行中更喜欢<<代码> &和<代码>,这似乎更为普遍:

此约定背后的主要原因是,操作员明确表示该行是前一行的延续。在断线前有操作员,很难发现这一点

实际上,关于您在Github上询问的内容,有一个问题:

根据:

这可能会导致分号插入和旧javascript解析器中断等问题。请检查大范围的浏览器


laxbreak
选项即将被弃用,但我不确定默认的jshint行为是否会改变

也许是因为它很丑;)那篇引文不是说相反,即
&&\n
不好,但
\n&&
没问题吗?是的,同意。这正是我希望在换行后使用运算符的原因。但是如何知道哪些解析器可能会因此而中断(问题是否仍然相关)?抱歉,但我不知道。也许Raynos可以回答(他也是这里的一个用户,也许你可以在JS聊天室找到他)。。。我现在在我的
Gruntfile.js
中使用它,因为很难在一行中读取三元表达式。
if (1 == 1 && 
        true) {
    console.log("hello world");
}