JavaScript中布尔值的指数运算符
Exponentiation operator for Boolean in JavaScript?
参考此,exponentiation operator
返回将第一个操作数提升为第二个操作数的幂的结果,类似于Python中的求幂运算符,它是ECMAScript 2016(ES7)方案的一部分。
我们知道在Python中Boolean
和exponentiation operator
的结果如下:
>>> False ** False == True
True
>>> False ** True == False
True
>>> True ** False == True
True
>>> True ** True == True
True
我想知道Boolean
是否可以用于exponentiation operator
?如果是这样的话,在Python中会出现与上面相同的行为吗?
我不确定你期望得到什么样的答案。若你们看一下这个建议,你们会发现两个操作数都是先转换成数字的。这意味着false ** false
等同于0 ** 0
。
因此,是的,您可以将运算符应用于布尔值。与所有其他运算符一样,值也会转换为运算符所期望的类型。
结果总是一个数字。
然而,当然,如果你使用松散比较,那么如果求幂的结果是1
,它将松散地等于true
,如果它是0
,它将宽松地
是
console.log(false ** false == true); // true
console.log(false ** true == false); // true
console.log(true ** false == true); // true
console.log(true ** true == true); // true
如果使用===
,则所有这些都将是false
,因为0
与false
不同,1
与true
不同。
相关文章:
- 这是什么 ==- javascript 运算符
- jQuery/JS包含运算符或类似运算符
- Javascript逻辑运算符和字符串/数字
- 模运算符前的双水平线
- jQuery's trim()的前缀为not运算符
- Javascript,如果条件在没有&&逻辑运算符当&&它不起作用
- 如果在构造函数中有“返回”,则在 JavaScript 中的新运算符中做了什么
- 如何使用排列运算符来获取具有命名参数的函数的所有参数
- JavaScript 中三元条件和逻辑和运算符的运算符优先级
- 用于验证JS中逻辑运算符表达式的正则表达式
- 什么's是相当于LINQ's SelectMany运算符
- JavaScript-===vs===运算符性能
- 在 Jquery/Javascript 中使用多个 OR (||) 运算符时如何设置变量
- 三元运算符检查多个字符串
- 调用C++中JScript中的instanceof运算符(IDispatch/IDispatchEx)
- ||(OR)运算符如何在赋值中工作
- 在 JavaScript 对象中设置要使用的运算符的属性
- 哪个JavaScript相等运算符(==或===)更快
- 逻辑和/或运算符-意外的最终结果
- JavaScript中布尔值的指数运算符