Javascript 保护条款

Javascript 保护条款,javascript,eslint,Javascript,Eslint,是否有一个ESLint规则来检测代码在不使用保护子句时是否可以被检测到? 这与该职位有关- 例如,这应该有一个警告: function doSomething(obj) { if(obj) { console.log('I did something'); } return null; } 这应该有无警告 function doSomething(obj) { if(!obj) { return null; } console.log('I did so

是否有一个ESLint规则来检测代码在不使用保护子句时是否可以被检测到? 这与该职位有关-

例如,这应该有一个警告:

function doSomething(obj) {
  if(obj) {
    console.log('I did something');
  }
  return null;
}
这应该有警告

function doSomething(obj) {
  if(!obj) {
    return null;
  }
  console.log('I did something');
}
我更喜欢后者。请不要评论这个问题的“固执己见”方面。我只是想知道是否有一个特定于ESLint的规则或类似的东西可以使用

或者ESLint是检测/纠正这种代码样式强制的正确工具吗

多谢各位


另外,我做了一些研究,并没有发现任何与我的特殊需求相关的规则。现在,我只是一个新的JS开发人员,我想知道我是否错过了在我进一步编写自己的规则之前应该检查的内容

没有任何ESLint规则可以捕捉到这一点(直到v5.8.0)。您自己提供了来源:)

我完全支持保护条款,但我认为这不是很快就会出现的功能,因为它非常依赖于上下文,很难在所有情况下正确识别它


查看代码片段的旁注:如果您想遵循ESLint最佳实践,您应该返回一个未定义的/void,而不是null,以防您不希望返回值(检查)

代码“转换为ESLint”意味着什么?@JLRishe,感谢您的澄清,我将“转换为”改为“检测到”,思想混乱了。我想在一开始就自动使用eslint--fix,但决定更容易检测它。我不理解你的问题。这两个例子都是有效的JS,为什么ESLint要抱怨它们呢?@Jonathan这将是一个很好的例子ESLint@Retsam谢谢你的意见。这是真的,我认为我应该通过点对点的代码审查来实现