Meaning of !! javascript
This question already has an answer here:
!! Converts any value to a boolean value
> !!null
false
> !!true
true
> !!{}
true
> !!false
false
If a value is falsey then the result will be false . If it is truthy the result will be true .
Even more, the third ! inverts the converted value so the above examples become:
> !!!null
true
> !!!true
false
> !!!{}
false
> !!!false
true
It forces what is returned to be a boolean and not an integer or empty value. For example, 0 evaluates to false with == but will not with === . So to be sure that any integer 0 returned will be converted into an boolean, we use !! . This also works if null or undefined is returned.
So whats happening is actually:
var test = null;
var result = !test; // returns true
result = !return; // returns false
!! is used to convert the value to the right of it to its equivalent boolean value.
!!false === false
!!true === true
链接地址: http://www.djcxy.com/p/12658.html
下一篇: 的意思 !! JavaScript的
