<分区>
重要的是我是否使用 |或||作为或运营商?两者似乎可以互换使用。
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
标签 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 使用现有数据框中的唯一元素生成随机数据框
javascript - 从运行时 block 加载生成的 webpack block
python - 过滤 Python 列表时出现意外输出 : What am I doing wrong?
javascript - VS代码: [js] This constructor function may be converted to a class declaration