Difference between !! and ! in JavaScript

This question already has an answer here: What is the !! (not not) operator in JavaScript? 31 answers A single bang ( ! ) is used to negate a boolean. Double bang ( !! ) is used to coerce a truthy/falsey value to a boolean true or false. for example var x = 0; // a falsey value console.log(x); // logs 0 console.log(!x)// logs true console.log(!!x)// logs false var y = "Hello worl

区别! 和! 在JavaScript中

这个问题在这里已经有了答案: 是什么 !! (不)没有运算符在JavaScript中? 31个答案 一个爆炸( ! )用于否定布尔值。 双重砰砰声( !! )用于强制真/假值为布尔真或假。 例如 var x = 0; // a falsey value console.log(x); // logs 0 console.log(!x)// logs true console.log(!!x)// logs false var y = "Hello world"; // a truthy value console.log(y); // logs "Hello world" console.log(!y)// lo

Why two !!s in an IF statement when using &&?

Possible Duplicate: What is the !! (not not) operator in JavaScript? I'm looking through some code and see an IF statement that looks like the one below. Can anyone tell me why there are two !!s instead of one? I've never seen this before and can't dig anything up on Google because it's ignoring the special character. if (!!myDiv && myDiv.className == 'visible') {

为什么在使用&时在IF语句中有两个!!

可能重复: 是什么 !! (不)没有运算符在JavaScript中? 我正在浏览一些代码,并看到如下所示的IF语句。 谁能告诉我为什么有两个!!而不是一个? 我从来没有见过这个,也无法在Google上挖掘任何东西,因为它忽略了特殊字符。 if (!!myDiv && myDiv.className == 'visible') { } double not运算符用于将变量转换为boolean类型。 dobule nots互相取消,但看到! 返回true或false ,你只会得到两个输出中的一个

What is the purpose of using !! in JavaScript?

This question already has an answer here: What is the !! (not not) operator in JavaScript? 31 answers It's not related to angular It's just a way to transform value to bool. ( according to truthy/falsy values) There is a lot of articles about it. examples : !!"a" //true !!"0" //true !!0 //false To be clear, this question has nothing to do with Angu

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

这个问题在这里已经有了答案: 是什么 !! (不)没有运算符在JavaScript中? 31个答案 这与角度无关 这只是将价值转化为布尔的一种方式。 (根据truthy / falsy值) 有很多关于它的文章。 例子 : !!"a" // true !!"0" // true !!0 // false 要明确,这个问题与AngularJS无关 - 这是一个JS语法问题。 !!的目的!! 在JavaScript(和其他语言)中强制为布尔值。 使用单个! 强制它

Meaning of !! javascript

This question already has an answer here: What is the !! (not not) operator in JavaScript? 31 answers !! 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 examp

的意思 !! JavaScript的

这个问题在这里已经有了答案: 是什么 !! (不)没有运算符在JavaScript中? 31个答案 !! 将任何值转换为boolean值 > !!null false > !!true true > !!{} true > !!false false 如果一个值是falsey那么结果将是false 。 如果真的truthy ,结果会是true 。 更多,第三! 将上面的示例转换为转换后的值: > !!!null true > !!!true false > !!!{} false

What is the "!!" operator in Javascript?

Possible Duplicate: What is the !! operator in JavaScript? Sorry if this one is obvious but I can't google it What is the "!!" operator in Javascript? eg if (!!window.EventSource) { var source = new EventSource('stream.php'); } else { // Result to xhr polling :( } Did the author just use "!" twice ie a double negation? I'm confused because this i

是什么 ”!!” Javascript中的运算符?

可能重复: 是什么 !! 运算符在JavaScript中? 对不起,如果这个是显而易见的,但我不能谷歌它 是什么 ”!!” Javascript中的运算符? 例如 if (!!window.EventSource) { var source = new EventSource('stream.php'); } else { // Result to xhr polling :( } 作者是否使用“!” 两次,即双重否定? 我很困惑,因为这是官方文档 它会将任何内容转换为true或false : !!0 // => false !!1 //

Javascript ! and !! differences

Possible Duplicate: What is the !! operator in JavaScript? What is the difference between these two operators? Does !! have special meaning, or does it simply mean you are doing two '!' operations. I know there are "Truth" and "Truthy" concepts in Javascript, but I'm not sure if !! is meant for "Truth" Writing !! is a common way of converting

Javascript! 和! 分歧

可能重复: 是什么 !! 运算符在JavaScript中? 这两个运营商有什么区别? 没有! 有特殊意义,还是仅仅意味着你在做两个'!' 操作。 我知道JavaScript中有“真相”和“Truthy”概念,但我不确定是否会! 是为了“真理” 写作!! 是将“truthy”或“falsey”变量转换为真正的布尔值的常用方法。 例如: var foo = null; if (!!foo === true) { // Code if foo was "truthy" } 第一次! 应用于foo ,返回的值

myVar = !!someOtherVar

This question already has an answer here: What is the !! (not not) operator in JavaScript? 31 answers 如果你需要一个布尔值传递给函数,或者是肛门约在条件语句仅评估布尔值,即蒙上someOtherVar由双否定它为你一个布尔值。 In non-strictly typed languages, the ! operator converts a value to a boolean. Doing it twice would be equivalent to saying myVar = (boolean)someOtherVar Note that this is no

myVar = !! someOtherVar

这个问题在这里已经有了答案: 是什么 !! (不)没有运算符在JavaScript中? 31个答案 如果你需要一个布尔值传递给函数,或者是肛门约在条件语句仅评估布尔值,即蒙上someOtherVar由双否定它为你一个布尔值。 在非严格类型的语言中,! 运算符将值转换为布尔值。 这样做两次就相当于说 myVar = (boolean)someOtherVar 请注意,这不建议用于代码清晰度。 (改写澄清,简化) 该声明执行了几项不同的行动: myVar

javascript: What is a NOT NOT? (!! operator )

Possible Duplicate: What is the !! operator in JavaScript? What is a not not in javascript I have seen this a few times :) function foo(){ return !!(window.history); } i believe it is used for enforcing boolean types... for example if("true" == true){ alert("1"); }else{ if(!!"true" == true){ alert("2"); } } alerts 2 not 1 我认为它曾经[不那么]隐式地将值转换为布

javascript:什么是NOT NOT? (!!运营商)

可能重复: 是什么 !! 运算符在JavaScript中? 什么是不是在JavaScript中我已经看过这几次:) function foo(){ return !!(window.history); } 我相信它用于执行布尔类型... 例如 if("true" == true){ alert("1"); }else{ if(!!"true" == true){ alert("2"); } } 警报2不是1 我认为它曾经[不那么]隐式地将值转换为布尔类型

double exclamation on a return value in javascript

This question already has an answer here: What is the !! (not not) operator in JavaScript? 31 answers The ! operator negates, and the secondary ! negates the result of the inital negation. This basically typecasts whatever is on the right hand side into a boolean ( true or false ). !false // true !!false // false So if the method is defined then the function which is truthy, will be ty

在javascript中返回值的双重感叹号

这个问题在这里已经有了答案: 是什么 !! (不)没有运算符在JavaScript中? 31个答案 ! 算子否定,次要! 否定了初始否定的结果。 这基本上将右侧的任何内容都转换为布尔值(true或false)。 !false // true !!false // false 所以如果方法被定义,那么true的function将被模拟为true 。 document.createElement('video').canPlayType 所以上面的函数返回。 我们不需要一个函数,我们需要一个明确的布尔值,所以

What does the double exclamation !! operator mean?

Possible Duplicate: What is the !! operator in JavaScript? What does !! (double exclamation point) mean? I am going through some custom JavaScript code at my workplace and I am not able to understand the following construct. var myThemeKey = (!!$('row') && $('row').hasClassName('green-theme')) ? 'green' : 'white'; I understand everything on the above line except !! operator. I

双惊叹号! 运营商的意思

可能重复: 是什么 !! 运算符在JavaScript中? 什么! (双重感叹号)是什么意思? 我正在浏览我的工作场所的一些自定义JavaScript代码,并且我无法理解以下构造。 var myThemeKey = (!!$('row') && $('row').hasClassName('green-theme')) ? 'green' : 'white'; 我明白上面的所有内容除了!! 运营商。 我认为它是一个NOT运算符和NOT的NOT被原来的值,但为什么会有人做NOT的NOT ? 有人能帮我理解上面的