栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

何时在JavaScript中使用double not(!!)运算符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

何时在JavaScript中使用double not(!!)运算符

在我与您在一起的

if
陈述的上下文中,这是完全安全的,因为在内部,该
ToBoolean
操作将在条件表达式上执行(
请参阅规范的第3步 )。

但是,如果要从函数返回布尔值,则应确保结果实际上是布尔值,例如:

function isFoo () {  return 0 && true;}console.log(isFoo()); // will show zerotypeof isFoo() == "number";

总之,布尔逻辑运算符可以返回操作数 ,而不一定返回

Boolean
结果:

如果第一个 操作数真实的

&&
,则逻辑AND运算符()将返回 第二个操作数 的值: __

true && "foo"; // "foo"

如果它本身是 falsy ,它将返回 第一个操作数 的值: __

NaN && "anything"; // NaN0 && "anything"; // 0

另一方面,如果第一个 操作数falsy ,则逻辑OR运算符(

||
)将返回 第二个操作数 的值: __

false || "bar"; // "bar"

如果它本身不是伪造的,它将返回 第一个操作数 的值:

"foo" || "anything"; // "foo"

也许这是值得一提的是, falsy 值是:

null
undefined
NaN
0
,零长度字符串,当然
false

布尔上下文中 评估的任何其他内容(不是 虚假的

Boolean
对象或
Boolean
值)都将返回。 __
true



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470626.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号