我开始开发网络应用,但我来自iOS世界。
我想知道在JavaScript中是否有相当于Swift的guard
语句?
我喜欢回归早期模式。
对于那些可能不知道的人,guard
声明是"早期返回if语句",这是一个非常基本的例子:
myCondition = trueOrFalse()
guard myCondition
else {print("myCondition is false")
return}
print("myCondition is true")
答案 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
}