这个语法是什么意思----->“!!“在 JavaScript 中
What does this syntax means -----> " !! " in javascript?
我现在正在读"发现流星",在第7章中是有代码:
Posts.allow({
insert: function(userId, doc) {
// only allow posting if you are logged in
return !! userId; ///// <<==== what does "!!" means?
}
});
谢谢
Tom Ritter完美地总结为
// Maximum Obscurity:
val.enabled = !!userId;
// Partial Obscurity:
val.enabled = (userId != 0) ? true : false;
// And finally, much easier to understand:
val.enabled = (userId != 0);
因此对布尔值进行转换,然后进行双重否定
! 会将任何正值、true 或
现有变量(如字符串和数组)转换为 false,并将任何负值、未定义值、null 或 false 转换为 true。!!应用两次。
在此上下文中,如果变量 userId 存在且不为空、null 或 false,则返回 true。
它只是喜欢您将变量类型更改为布尔值
!! userId;
// same as
userId ? true:false;
相关文章:
- Javascript语法向设置发出sessionStorage值
- 函数的Javascript语法
- 如何定义const函数javascript(语法糖)
- Onclick不会启动..可能存在javascript语法问题
- 用jquery替换javascript语法
- 在Javascript语法中:和::和:::有什么区别
- 如何以编程方式查找javascript语法错误的位置
- 这个javascript语法有什么问题
- Chrome 中的 JSX/JavaScript 语法
- Javascript语法 - 我做错了什么
- 用于指定元素 ID 的正确 JavaScript 语法是什么
- 这是什么JavaScript语法
- 带有函数的 JavaScript 语法
- 剃刀中的javascript语法错误
- 解析云代码geoPoint查询Javascript语法
- 在Notepad++中更好地突出显示Javascript语法
- 通用Javascript语法查询
- Joomla2.5框架似乎干扰了javascript语法
- 点击切换Divs/JavaScript语法
- 用于将变量传递给函数的javascript语法