javascript - 的意思 !! javascript

标签 javascript angularjs

<分区>

我发现了一些关于使用 angular 进行身份验证的代码,但我无法理解这个技巧:

authService.isAuthenticated = function () {
    return !!Session.userId;
};

!! 是什么意思“不同的 userId”?

每当 true = !!true = !!!!true =>etc 时,它不理解这一点。

有人可以帮助我吗?

(https://medium.com/opinionated-angularjs/techniques-for-authentication-in-angularjs-applications-7bbf0346acec 为来源,部分“The AuthService”)

最佳答案

!! 将任何值转换为 boolean

 > !!null
 false

 > !!true
 true

 > !!{}
 true

 > !!false
 false

如果值为falsey,则结果将为false。如果它是 truthy,则结果将为 true

更重要的是,第三个 ! 反转转换后的值,所以上面的例子变成了:

    > !!!null
    true

    > !!!true
    false

    > !!!{}
    false

    > !!!false
    true

关于javascript - 的意思 !! javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29743700/

相关文章:

javascript - 对多个 JavaScript 数组进行排序

javascript - AngularJs 的 templateUrl : Url or ID?

javascript - 如何以 HTML 格式打印表格

javascript - Highcharts 线单一数据集但多种颜色,不是渐变颜色

javascript - AngularJS - 在 ng-init=true 时触发一个函数

javascript - 我可以在 ng-repeat 中设置变量吗?

javascript - Google Maps API 如何与 AngularJS 协同工作?

javascript - Fullpage JS,分页执行

javascript - Webix 上传程序的 onAfterFileDelete 事件

javascript - React Hot loader 3 与 webpack-dev