Вопрос по ajax, if-statement, javascript – Проверить на ложность

22

Есть ли лучший способ сделать это?

<code>if(borrar() !== false)
{
    alert('tatatata bum bum bum prapra');
}
return false;
</code>

Ваш Ответ

5   ответов
21

Если вы хотите проверить на ложность и предупредить, если нет, то нет.

Если вы используетеif(val)тогда все, что оценивается как «правдивое», например непустая строка, также пройдет. Так что это зависит от того, насколько строгим является ваш критерий. С помощью=== а также!== обычно считается хорошей практикой, чтобы избежать случайного сопоставления истинных или ложных условий посредством неявных логических тестов javascript.

6

Если вам нужна явная проверка на false (а не на undefined, null и другие, которые я предполагаю, когда вы используете! == вместо! =), Тогда да, вы должны использовать это. также это то же самое в немного меньшем следе

if(borrar() !== !1)
Договорились, кроме!1, Я бы не использовал это, так как это менее многословно, чемfalseи также необычен, следовательно, менее читабелен.
правда, это не совсем лучший способ, я думаю, это можно считать более оптимальным способом для отпечатка, но обычно компрессор позаботится об этом, так что его не стоит использовать против false.
3

Проверка, не является ли что-то ложным. Так что это правда, только если вы делаете что-то, что является квантовой физикой.

if(!(borrar() === false))

или же

if(borrar() === true)
2

Вы можете использовать что-то более простое :)

if(!var){
  console.log('var is false'); 
}
В дополнение к тому, что @gsubiran отметил, что var может фактически равнятьсяfalse в таком случае!var оценил быtrue.
если переменная равна нулю или не определена! переменная истинна и не имеет значения.
0

Как это?

if(borrar())
{
   //do something
}

Еслиborrar() возвращает истину, тогда сделайте что-нибудь (если это не ложь).

Это менее строгий тест, чем оригинал, и, следовательно, поведение не будет точно таким же.
Я думаю, что вопрос был лучше, и я принял его как более простой способ, но вы правы, это менее строгое. Это зависит от функции borrar (). Спасибо, я уверен, что больше узнаю, отвечая на вопросы и исправляясь, чем задавая свои собственные. :)

Похожие вопросы