首页 > 解决方案 > 在这种特定情况下,if-else 是否比 try-catch 更好,性能明智?哪种方式是最佳实践?

问题描述

我有一个 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();
}

标签: javascriptperformancetypescriptif-statementtry-catch

解决方案


try-catch. try是不是它总是试图try通过try.
只有重新滚动后,它才会进入catch. 这使得使用try-catch速度慢得多。
如果在开始时有一个条件(如 if-else 语句)。并且该语句是错误的,那么它根本不需要通过if或 if 语句的其余部分。

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


推荐阅读