编程语言
首页 > 编程语言> > javascript – 为什么JS中的true * true === 1?

javascript – 为什么JS中的true * true === 1?

作者:互联网

经历好的部分并在节点中乱搞,我想知道为什么会出现这种情况.我知道 !指的是“逻辑非”运算符,那!!基本上是booleanates(ifies?)!x的返回值,但为什么呢?

var x = 3, y = 4;

x != y;     // true
x = !y      // false ----> But really, its setting x to "not y", a truthy value, correct
x = !!x*x   // 1 --- wut?

所以,在玩了一下之后,我明白所宣称的是,“x等于不是x(”真“,因为!x === false)乘以x(真)”

所以我想问题是,为什么JS中的真实= = 1?

解决方法:

为了评估乘法,*运算符会强制为1,1 * 1 === 1.

标签:javascript,comparison,boolean-logic
来源: https://codeday.me/bug/20190609/1203440.html