ssb*_*sbb 7 javascript angularjs
我发现了一些关于使用angular进行身份验证的代码,我无法理解这个技巧:
authService.isAuthenticated = function () {
return !!Session.userId;
};
Run Code Online (Sandbox Code Playgroud)
什么!!意思是"userId的不同"?
无论何时true = !!true = !!!!true =>etc,它都不明白这一点.
有人可以帮帮我吗?
(https://medium.com/opinionated-angularjs/techniques-for-authentication-in-angularjs-applications-7bbf0346acec为源,部分'AuthService')
Geo*_*-it 11
!!将任何值转换为boolean值
> !!null
false
> !!true
true
> !!{}
true
> !!false
false
Run Code Online (Sandbox Code Playgroud)
如果值是,falsey那么结果将是false.如果是truthy结果的话true.
更重要的是,第三个!反转了转换后的值,因此以上示例变为:
> !!!null
true
> !!!true
false
> !!!{}
false
> !!!false
true
Run Code Online (Sandbox Code Playgroud)