javascript - |与 || ... 我使用哪一个重要吗?

标签 javascript logic

<分区>

重要的是我是否使用 |或||作为或运营商?两者似乎可以互换使用。

function Sum(num, sum) {
    sum = sum | 0;
    return sum;
}

function SumII(num, sum) {
    sum = sum || 0;
    return sum;
}

console.log(Sum(7));
//0
console.log(SumII(7));
//0

最佳答案

是的,有很大的不同。

运算符|bitwise operator
我引用了链接的文档:

Returns a one in each bit position for which the corresponding bits of either or both operands are ones.

因此,通过将此运算符与两个数字一起使用,将为您提供另一个从前两个数字构建的数字。

运算符||logical operator
它将其操作数计算为 bool 值(想象一下如果需要会发生隐式转换)并以其原始形式返回第一个真值。

碰巧对于某些操作结果是相同的(例如,如果在守卫中使用,应用运算符的结果被视为 bool 值),无论您决定使用哪个运算符,但是最好知道它们之间有什么区别。

关于javascript - |与 || ... 我使用哪一个重要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376918/

相关文章:

javascript - 注册突变时出现 Prisma graphql 错误

c - 如何在 C 语言中对数字数组进行排序而不将它们移动?

python - 使用 pandas 使用现有数据框中的唯一元素生成随机数据框

swift - 从字典和最佳实践中更新变量值

javascript - 从运行时 block 加载生成的 webpack block

包含函数参数的 Javascript 变量名

python - 过滤 Python 列表时出现意外输出 : What am I doing wrong?

for-loop - Pascal 中的 For 循环

javascript - 从跟踪代码管理器数据层获取变量

javascript - VS代码: [js] This constructor function may be converted to a class declaration