Javascript 在IF条件下检查执行顺序
我有一个调用后端服务并收集响应的程序。收集资料如下。我们对响应对象进行分解,得到Javascript 在IF条件下检查执行顺序,javascript,Javascript,我有一个调用后端服务并收集响应的程序。收集资料如下。我们对响应对象进行分解,得到错误和数据 const { data, error } = response; 如果没有错误,则error对象将变为null。考虑以下两个选项: 选项一: if (!error) { // handle error } if (error !== null) { // handle error } 选项二: if (!error) { // handle error } if (error !== null)
错误
和数据
const { data, error } = response;
如果没有错误,则error
对象将变为null。考虑以下两个选项:
选项一:
if (!error) {
// handle error
}
if (error !== null) {
// handle error
}
选项二:
if (!error) {
// handle error
}
if (error !== null) {
// handle error
}
在选项一中,根据检查以下条件
当我们调用选项1时,是否有执行顺序?在选项1中如何进行内部条件检查?基于此,是否会对性能产生影响(在粒度级别),如果我们使用选项1而不是选项2?在使用if语句时没有顺序,JS只是执行类型转换,将任何值强制为布尔值,然后计算结果,请查看此链接以了解更多详细信息: 虚假结果:
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('')
if ("")
if (``)
if (document.all)
// => false
if (true)
if ({})
if ([])
if (42)
if ("foo")
if new Date())
if (-42)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)
// => true
真实结果:
if (false)
if (null)
if (undefined)
if (0)
if (NaN)
if ('')
if ("")
if (``)
if (document.all)
// => false
if (true)
if ({})
if ([])
if (42)
if ("foo")
if new Date())
if (-42)
if (3.14)
if (-3.14)
if (Infinity)
if (-Infinity)
// => true
微优化的异步与速度?真的吗?我还认为你的意思不是
if(!error){//handle error}
这一定是我见过的最微小的过早优化。有趣的是,在这个例子中,分解任务可能是最微小的……我同意这是一个非常微小的优化。这在Git Pull请求评论中出现。我能知道投票被否决的原因吗?