UnaryExpression : ! UnaryExpression
function (! UnaryExpression) {
var expr = evaluate(UnaryExpression);
var oldValue = ToBoolean(GetValue(expr));
if (oldValue) return false;
return true;
}
A double not (!!value), sometimes referred to as a double bang, casts any value to Boolean and is an alternative to Boolean(value). It always returns true or false.