在JavaScript中是否有相当于Swift的守卫声明?

时间:2017-04-21 09:56:31

标签: javascript swift if-statement

我开始开发网络应用,但我来自iOS世界。 我想知道在JavaScript中是否有相当于Swift的guard语句? 我喜欢回归早期模式。

对于那些可能不知道的人,guard声明是"早期返回if语句",这是一个非常基本的例子:

myCondition = trueOrFalse()
guard myCondition
   else {print("myCondition is false")
         return}
print("myCondition is true")

2 个答案:

答案 0 :(得分:2)

为什么不这样做呢?为什么需要guard代替if

f () {
  myCondition = trueOrFalse()

  // Make sure `myCondition` is `true`
  if (!myCondition) return console.log("myCondition is false");

  console.log("myCondition is true")
}

PS:我return日志语句只是为了让它保持在一行。 console.log只返回undefined,因此您的函数将返回undefined。如果您认为该语句看起来更好,则可以将该语句拆分为多行,或者希望您的function返回类型始终与可能有助于优化的返回类型相同(例如:始终返回一个整数,因此不是{{ 1}}你可以返回undefined)。

答案 1 :(得分:0)

基于苹果Swift规格的描述:

“如果不满足一个或多个条件,则使用保护声明将程序控制转移到范围之外。”

正确的匹配可能是尝试捕捉构造

2

你在做什么方法:

try{
   method();
}catch(ex){
   //handle exceptions. will trigger for anything that is thrown inside the method
}
相关问题