使用的目的是什么!!在JavaScript?

时间:2013-11-26 13:55:59

标签: javascript

我想知道在JS中使用!!的目的。

例如:

this.enabled = function (value) {
   if (arguments.length) {
    enabled = !!value;
    }
}

3 个答案:

答案 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)转换为布尔值。

相关问题