【问题标题】:Return in logical operators (&& return, || return)逻辑运算符中的返回(&& 返回,|| 返回)
【发布时间】:2017-03-07 07:31:44
【问题描述】:

如何在逻辑条件下执行“返回”?

在这种情况下会很有用

checkConfig() || return false;
var iNeedThis=doSomething() || return false;

doJob() && return true;
[...] //do something else if fails (it not return)

而不是

if(!checkConfig()){return false}
if(!iNeedThis=doSomething()){return false}

if(!doJob()){//fallback}

这是我想使用的想法 我不明白为什么这被否决了。

【问题讨论】:

  • 试试checkConfig() || false;
  • 否......
  • @gurvinder372 不,这种情况下我想退出函数
  • return 是一个语句,而不是一个表达式。
  • 即使可以,这也是一个可怕的副作用。

标签: javascript return shortcut logical-operators


【解决方案1】:

没有。

您必须在逻辑运算符的每一侧都有一个评估为 value 的东西。

如果您想在返回之前测试某些内容,请使用 if 语句。

【讨论】:

  • 更准确的第二段:“你需要一个有效的产生 LogicalORExpression 到左边,和 LogicalANDExpression || 的右侧。对于&&,它是 LogicalANDExpression BitwiseORExpression (加上参数化的产品,如 LogicalORExpression_Yield、LogicalORExpression_Await、等)。 return true 是一个 ReturnStatement,即这里不是一个有效的非终端......”。 “评估为价值”并不是直接要求。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-08
  • 2023-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多