繁体   English   中英

Javascript boolean console.log(true & true); 为什么1?

[英]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编号

&&是一个逻辑运算符,将返回truefalse

 console.log(true & true); console.log(true && true)

位运算符适用于 32 位数字。 运算中的任何数字操作数都将转换为 32 位数字。 结果将转换回 JavaScript 编号。 在你的情况下:

true = 1 => 0001这就是为什么0001 & 0001 = 0001 => 1

位运算符适用于 32 位数字。运算中的任何数字操作数都将转换为 32 位数字。结果被转换回 JavaScript 数字。

参考: https://www.w3schools.com/jsref/jsref_operators.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM