2013-12-07 3 views
0

Я просто пробирался через исходный код QUnit (1.12.0) и наткнулся на строку, которая меня смутила. Я немного поработал в поисковых системах и не смог найти причины для этого.В чем смысл !! в JavaScript?

Источник: http://code.jquery.com/qunit/qunit-1.12.0.js линии 520

result = !!result; 

появляется нечто подобным далее в коде, за исключением того, вместо того, чтобы хранить результат сам по себе, этому хранению двойного отрицания переменного в формате JSON.

Источник: http://code.jquery.com/qunit/qunit-1.12.0.js линия 957

result: !!result 

Как! отрицает, полагаю !! будет отрицать, а затем снова отрицать, таким образом заканчивая тем, с чего вы начали. В этом случае, что достигается установкой переменной, равной самой себе, дважды сбрасывается? (Или в последнем примере, возвращаясь дважды, вместо того, чтобы просто возвращаться.)

+1

довольно много бросает аргумент в boolean – MightyPork

+0

Это нужно проверить [правша] (http://james.padolsey.com/javascript/truthy-falsey/) значение – tewathia

ответ

0

!! Используется для преобразования значения справа от его эквивалентного булева значения.

Также проверьте этот раздел Thread.

Смежные вопросы