我有以下代码。它很简单并且可以完成工作...但是对于我来说,它太长了。
if ( isInputValid( userInput ) ) {
return userInput;
} else {
console.log('User Input is Invalid!');
}
通常,我将只能使用三元运算符。但是,在这种情况下,我不能。
// not possible, invalid
isInputValid( userInput ) ? return userInput : console.log('User Input is Invalid!');
但是,还有另一种方法可以缩短和进一步简化if
和else
语句吗?像胖箭头语法之类的东西吗?
非常感谢。
答案 0 :(得分:1)
似乎您有几种选择。首先,由于您似乎要从函数返回,因此可以通过简单地省略else部分来缩短初始代码。
if ( isInputValid( userInput ) ) {
return userInput;
}
console.log('User Input is Invalid!');
现在,如果需要,您仍然可以使用三元运算符,您只需要返回三元运算符本身的结果即可。
return isInputValid(userInput) ? userInput : console.log('User Input is Invalid!');
答案 1 :(得分:0)
以@Nick的答案为基础,缩短此代码的一种好方法就是简单地执行以下操作。
if ( isInputValid( userInput ) ) return userInput;
console.log('User Input is Invalid!');
由于括号是单个语句,因此能够删除括号,然后将else
删除为console.log()
的情况实际上仅是在前一个语句仍然为false
的情况下才执行。因此,它使else
变得不必要。
简洁,美观!