我应该如何缩短以下代码?

时间:2019-11-13 03:28:11

标签: javascript conditional-statements conditional-operator

我有以下代码。它很简单并且可以完成工作...但是对于我来说,它太长了。

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!');

但是,还有另一种方法可以缩短和进一步简化ifelse语句吗?像胖箭头语法之类的东西吗?

非常感谢。

2 个答案:

答案 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变得不必要。

简洁,美观!