在Meteor教程项目显微镜中有一行“!!”操作
Posts.allow({
insert: function(userId, doc) {
return !! userId;
}
});
这是什么意思?
答案 0 :(得分:3)
它会将userId
作为boolean
答案 1 :(得分:3)
它是boolean
演员,分别从fasly
或truethy
值到false
或true
。
你可能会看到:
var string = ""; // empty string is falsy
var bool = !!string; // false
falsy
意味着它遵循:myvar == false
而不是false
,后面跟着:myvar === false
(三重比较)。
同样truethy
为myvar == true
。
答案 2 :(得分:2)
!!userId
与Boolean(userId)
相同。
答案 3 :(得分:1)
!
运算符反转一个布尔值,因此通过反转一个值两次,你得到相同的布尔值。所以true === !!true
。
这通常用于将值转换为布尔值,因为!
保证返回布尔值。