gpt4 book ai didi

javascript - 与 boolean 值相乘是否安全(并且更好)?

转载 作者:数据小太阳 更新时间:2023-10-29 05:57:28 25 4
gpt4 key购买 nike

我有一段代码有很多 if 和 else if。我现在只是想,在乘法中,true 的计算结果为 1,false 的计算结果为 0。用 :

if(!this._isFetched('studentInfoFetched')) { 
tempAddedTime += 1;
estimatedTimePerStudent += 0.04 + 0.2;
}
if(formInputValues.student_expiration){
tempAddedTime += (!this._isFetched('studentExpirationFetched'))? 14 : 0;
estimatedTimePerStudent += 1;
}

对于:

    tempAddedTime += 1 * (!this._isFetched('studentInfoFetched')) + 14 * (!this._isFetched('studentExpirationFetched')) * (formInputValues.student_expiration);
estimatedTimePerStudent += 0.24 * (!this._isFetched('studentInfoFetched')) + 1 * (formInputValues.student_expiration);

注意:_isFetched 返回一个 boolean 值。这只是一个示例,对于其他情况,我有更多的 if,这样可以节省更多行。

最佳答案

不,ifs - 版本更好。

原因:

  • 可读性更高:表达式更短,行也不会太长。例如,我在屏幕上看到一个用于乘法表达式的水平滚动条,而我不必在 if-snippet :)

  • 中滚动
  • 速度更快,因为您避免了乘法运算。

  • 它甚至更快,因为您避免调用 this._isFetched('studentInfoFetched') 两次。

  • if在语义上定义了程序流,而乘法在语义上是一个数学表达式,用于在这种情况下伪造程序流。使用 if,语句按条件分组,您一眼就能看到满足特定条件时会发生什么。

然后,考虑您必须再创建两个 if 子句。乘法将变得完全无法维护。

关于javascript - 与 boolean 值相乘是否安全(并且更好)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33531103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com