Я понимаю то, что делает двойной оператор не в JavaScript. Мне интересно, как это использовать, и действительно ли последнее утверждение, которое я сделал, правильно.
Я сказал, что if (!!someVar)
никогда не имеет смысла и не является (!!someVar && ...
, потому что и теги if
, и &&
будут вызывать someVar как логическое, так что!! является излишним.
Фактически, единственный раз, когда я мог думать о том, что было бы законно использовать double not operator, нужно ли строгое сравнение с другим логическим значением (так что, возможно, в возвращаемом значении, которое ожидает true или false явно).
Это правильно? Я начал сомневаться в себе, когда заметил, что jQuery 1.3.2 используется как if (!!someVar)
, так и return !!someVar && ...
Имеет ли двойник никакого фактического эффекта в этих ситуациях?
Мое личное мнение состоит в том, что это просто приводит к путанице. Если я вижу оператор if, я знаю, что он оценивает его как логическое.