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