我想知道在JS中使用!!
的目的。
例如:
this.enabled = function (value) {
if (arguments.length) {
enabled = !!value;
}
}
答案 0 :(得分:5)
与角度
无关这只是将价值转化为布尔的一种方式。 (根据truthy / falsy值)
有很多关于它的文章。
示例:
!!"a"
// true
!!"0"
// true
!!0
// false
答案 1 :(得分:1)
要清楚,这个问题与AngularJS无关 - 这是一个JS语法问题。
JavaScript(和其他语言)中!!
的目的是强制一个值为布尔值。
使用单个!
强制它为布尔值,但与值是“truthy”还是“falsy”相反。第二个!
将其翻转为布尔值,与原始的“真实”或“虚假”评估相匹配。
var a = 'a string';
var f = !a; // f is now boolean false because a was "truthy:
var t = !!a; // f is now boolean true because a was "truthy:
答案 2 :(得分:0)
它不是特定于Angular,它用于将非布尔值(如undefined
)转换为布尔值。