开发者

What does a !! in JavaScript mean? [duplicate]

This question already has answers here: Closed 12 years ago.

Possible Duplicates:

myVar = !!someOtherVar

What does the !! operator (double exclamation point) mean in JavaScript?

Came across this line of code

strict = !!argStrict

... here开发者_运维百科 and wondered what effect the !! has on the line? Pretty new to JS!


It converts your value to a boolean type:

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

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

Also note the following:

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


It converts the value to a value of the boolean type by negating it twice. It's used when you want to make sure that a value is a boolean value, and not a value of another type.

In JS everything that deals with booleans accepts values of other types, and some can even return non-booleans (for instance, || and &&). ! however always returns a boolean value so it can be used to convert things to boolean.


It is a pair of logical not operators.

It converts a falsey value (such as 0 or false) to true and then false and a truthy value (such as true or "hello") to false and then true.

The net result is you get a boolean version of whatever the value is.


It converts to boolean


Its a "not not" arg

commonly used to convert (shortcut) string values to bool

like this..

if(!!'true') { alert('its true')}

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜