在这种特殊情况下if-else比try-catch更好,性能明智吗?哪种方式是最佳做法?

问题描述 投票:1回答:1

我有一个json,我需要检查几个值并执行某个任务,说这是我的json,

s = {
    "d": {
      "f": {
        "g": 1
      }
    }
  }

密钥d,f和g可能存在也可能不存在,如果g == 1,我需要执行某项任务。那么,以下哪一项给了我更好的表现。

if-else这样做的方式

if(s.d && s.d.f && s.d.f.g && s.d.f.g ==1)
{
    doSomeJob();
}
else
{
    doSomeOtherJob();
}

try-catch这样做的方式

try{
if(s.d.f.g ==1)
{
    doSomeJob();
}
}catch(e){
    doSomeOtherJob();
}
javascript performance typescript if-statement try-catch
1个回答
1
投票

try-catch的事情。它是否总是试图通过try内的代码,如果这不起作用,它必须将try内的所有内容重新回到try的开头。 只有在重新加注后,它才会进入catch。这使得使用try-catch要慢得多。 如果在开始时存在条件(如if-else语句)。声明是错误的,然后它不必通过if或其余的if语句。

这就是使用if-else语句更有用的地方,以及为什么你更希望try-catch尽可能短。

© www.soinside.com 2019 - 2024. All rights reserved.