Dav*_*ton 8 javascript jquery ecmascript-6
我使用es-lint清理代码中的错误.我遇到过这个错误:
'返回'后不必要的'其他'.(无其他收益)
} else {
Run Code Online (Sandbox Code Playgroud)
返回后我总是使用else语句.有什么我可以忽略的吗?
if (cctot <= 3 && cctot > 0) {
alert('Credit under $3.00 not allowed');
return Number.MIN_SAFE_INTEGER; // important to return 0 so we can check for these conditions for validation
} else {
cctot *= -1;
}
}
return precise(cctot);
}
module.exports = calculateCredit;
Run Code Online (Sandbox Code Playgroud)
lla*_*ama 16
这是一种代码风格偏好.您不需要else,而是可以将else代码直接放在下面if.这是因为如果if成功,那就是函数的结束,所以else无论如何都不会到达代码.
所以这:
if (condition) {
return foo;
} else {
// do bar
}
return baz
Run Code Online (Sandbox Code Playgroud)
相当于:
if (condition) {
return foo;
}
// do bar
return baz
Run Code Online (Sandbox Code Playgroud)
这种风格在不同的编程社区中似乎有所不同.开发人员几乎总会省略else,而我已经看到更多的JS开发者包括它.
虽然我更愿意放弃else,但这纯粹是一个偏好问题.不要让它太担心你.人们可能会对这种事情发表教条,但实际上并不那么重要.
Joh*_*edy 16
基本上说的是,如果部件中有a,则if语句的else部分是不必要return的if.像这样的东西是它所期望的:
if (cctot <= 3 && cctot > 0) {
alert('Credit under $3.00 not allowed');
return Number.MIN_SAFE_INTEGER; // important to return 0 so we can check for these conditions for validation
}
cctot *= -1;
Run Code Online (Sandbox Code Playgroud)
在带有if语句的if之后,不需要else部分,因为return只有在满足条件时才会运行will 下面的代码.
jho*_*nec 10
虽然规则正确地指出该else块是不必要的,并且它是一种样式偏好,但我会添加额外的考虑因素以提高可读性,最重要的是可扫描性。
对于编写此代码的开发人员以及解释它的机器来说,它可能是一个样式点,仅此而已。但对于需要修复错误、增强功能、进行代码审查等的开发人员来说,快速扫描代码并查看块的能力else有助于识别逻辑分支。
在几行独立的代码中很容易看出意图,但在数百行具有块的代码中if else可以充当有用的标识符,就像其他常见的视觉实践(如缩进、换行符和命名约定)一样。