什么是! 在JavaScript中意思?

可能重复:
myVar = !! someOtherVar
什么! 运算符(双重感叹号)在JavaScript中的意思是?

遇到这行代码

strict = !!argStrict

...在这里,想知道什么效果!! 已经上线了? JS很新鲜!


它将您的值转换为布尔类型:

var x = '1';
var y = !!x;

// (typeof y === 'boolean')

还要注意以下几点:

var x = 0;
var y = '0';       // non empty string is truthy
var z = '';

console.log(!!x);  // false
console.log(!!y);  // true
console.log(!!z);  // false

它通过否定它两次​​将值转换为布尔类型的值。 当你想确保一个值是一个布尔值而不是另一个类型的值时使用它。

在JS中,处理布尔值的所有东西都接受其他类型的值,有些甚至可以返回非布尔值(例如, ||&& )。 ! 但是总是返回一个布尔值,所以它可以用来将事物转换为布尔值。


它是一对逻辑非操作符。

它将假的值(如0false )转换为true ,然后将false和真值(例如true"hello" )转换为false ,然后转换为true

最终的结果是你得到了任何值的布尔值。

链接地址: http://www.djcxy.com/p/72859.html

上一篇: What does a !! in JavaScript mean?

下一篇: When to use the double not (!!) operator in JavaScript