В JavaScript нет оператора !!
.Там просто !
.То, что вы видите, - это удвоенное применение этого единственного оператора.
Одно приложение !
вернет логическое значение, оценивая «правдивость» своего аргумента, давая логическое значение, обратное этому.Второе значение !
, следовательно, дает логическое обратное значение , равное , которое, таким образом, является логическим значением "истинность" исходного значения.
Лично я бы не использовал его в простом if
, как в вашем примере, но это удобно для API, которые могут явно проверять параметр с логическим типом:
someAPI( !! someExpression );