gpt4 book ai didi

javascript - 双感叹号 (!!) 在 JavaScript 中如何工作?

转载 作者:行者123 更新时间:2023-12-02 23:19:02 32 4
gpt4 key购买 nike

我正在浏览 Discover Meteor 演示,并且正在努力弄清楚“返回!”到底是如何实现的。用户身份;'工作于 this section :

Posts.allow({
insert: function(userId, doc) {
// Only allow posting if you are logged in
return !! userId;
}
});

最佳答案

! 是逻辑否定或“非”运算符。 !!! 的两倍。这是一种将“true”或“falsy”值分别转换为 truefalse 的方法。给定一个 bool 值,! 将对值求反,即 !true 产生 false,反之亦然。给定 bool 值以外的值,该值将首先转换为 bool 值,然后取反。例如,!undefined 将首先将 undefined 转换为 false,然后对其取反,产生 true。应用第二个 ! 运算符 (!!undefined) 会产生 false,因此实际上 !!undefined 会转换 未定义false

在 JavaScript 中,值 falsenullundefined0-0NaN''(空字符串)是“假”值。所有其他值都是“真实的”。 (1):7.1.2以下是应用于各种值的 !!! 真值表:

 value     │  !value  │  !!value
━━━━━━━━━━━┿━━━━━━━━━━┿━━━━━━━━━━━
false │ ✔ true │ false
true │ false │ ✔ true
null │ ✔ true │ false
undefined │ ✔ true │ false
0 │ ✔ true │ false
-0 │ ✔ true │ false
1 │ false │ ✔ true
-5 │ false │ ✔ true
NaN │ ✔ true │ false
'' │ ✔ true │ false
'hello' │ false │ ✔ true

关于javascript - 双感叹号 (!!) 在 JavaScript 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29312123/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com