这是什么意思“return !! userId”

时间:2014-02-14 15:36:39

标签: javascript

在Meteor教程项目显微镜中有一行“!!”操作

Posts.allow({
  insert: function(userId, doc) {
  return !! userId; 
 }
});

这是什么意思?

4 个答案:

答案 0 :(得分:3)

它会将userId作为boolean

返回

答案 1 :(得分:3)

它是boolean演员,分别从faslytruethy值到falsetrue

你可能会看到:

var string = ""; // empty string is falsy
var bool = !!string; // false

顺便说一下,

falsy意味着它遵循:myvar == false而不是false,后面跟着:myvar === false(三重比较)。

同样truethymyvar == true

答案 2 :(得分:2)

!!userIdBoolean(userId)相同。

答案 3 :(得分:1)

!运算符反转一个布尔值,因此通过反转一个值两次,你得到相同的布尔值。所以true === !!true

这通常用于将值转换为布尔值,因为!保证返回布尔值。