首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript中布尔值的指数算子?

JavaScript中布尔值的指数算子?
EN

Stack Overflow用户
提问于 2015-11-22 04:13:07
回答 2查看 314关注 0票数 0

参考exponentiation operator返回将第一个操作数提高到幂第二个操作数的结果,就像Python中的指数运算符,这是ECMAScript 2016 (ES7)提案的一部分。

我们知道在Python中使用Boolean使用exponentiation operator的结果如下:

代码语言:javascript
复制
>>> False ** False == True
True
>>> False ** True == False
True
>>> True ** False == True
True
>>> True ** True == True
True

我想知道Boolean是否可以在exponentiation operator中使用?如果是这样的话,Python中的行为是否可以与上面的行为相同?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-22 04:24:19

我不知道你想要什么样的答案。如果您查看提案,您将注意到两个操作数都首先被转换为数字。这意味着false ** false等同于0 ** 0

所以是的,你可以把接线员应用到布尔人身上。与所有其他运算符一样,值被转换为运算符所期望的类型。

结果总是一个数字。

但是,当然,如果您使用松散比较,那么如果指数的结果是1,它将松散地等于true,如果它是0,则它将大致相等于false

票数 2
EN

Stack Overflow用户

发布于 2015-11-23 08:28:52

代码语言:javascript
复制
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,因为0false不一样,而1true并不相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33851516

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档