[英]Javascript boolean console.log(true & true); why 1?
console.log(true & true);
我是一名正在学习 JavaScript 的新手开发人员。 我想知道如果我编写上面的代码为什么会打印出 1 。
在 JavaScript 中, true
被评估为1
。
所以,简而言之:
console.log(true & true)
等于:
console.log(1 & 1)
如果两个操作数的对应位为1,则按位AND
的output为1。如果操作数的任一位为0,则对应位的结果为0。这是boolean逻辑。
在此处阅读有关 boolean 逻辑的更多信息。
&是一个位运算符,适用于 32 位数字。 运算中的任何数字操作数都将转换为 32 位数字。 任何非数字操作数在操作之前都类似地转换为数字。 结果将转换回 JavaScript编号。
&&是一个逻辑运算符,将返回true或false
console.log(true & true); console.log(true && true)
位运算符适用于 32 位数字。 运算中的任何数字操作数都将转换为 32 位数字。 结果将转换回 JavaScript 编号。 在你的情况下:
true = 1 => 0001
这就是为什么0001 & 0001 = 0001 => 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.