的意义!!逻辑表达式

Significance of !! logical expression

也许我问这个问题太快了,但我正在检查 angular 代码,我发现逻辑表达式评估如下: https://github.com/angular/angular.js/blob/master/src/ng/directive/attrs.js#L362

本质上,属性的评估方式如下:

attr.$set(attrName, !!value);

这样做有什么特别的原因吗?

!! 是确保 value 为布尔值的简洁方法。