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