Возможный дубликат:
Нужны ли фигурные скобки в одной строке в JavaScript?
Я почти уверен в этом, но я хочу, чтобы избежать ошибочного кода. В JavaScript делать одиночные инструкции if
нужны фигурные скобки?
if(foo)
bar;
Это нормально?
Возможный дубликат:
Нужны ли фигурные скобки в одной строке в JavaScript?
Я почти уверен в этом, но я хочу, чтобы избежать ошибочного кода. В JavaScript делать одиночные инструкции if
нужны фигурные скобки?
if(foo)
bar;
Это нормально?
Да, это работает, но только до одной строки сразу после оператора "if" или "else". Если требуется использовать несколько строк, необходимы фигурные скобки.
Ниже будут работать
if(foo)
Dance with me;
else
Sing with me;
Следующие действия НЕ будут работать так, как вы хотите, чтобы они работали.
if(foo)
Dance with me;
Sing with me;
else
Sing with me;
You don't know anything;
Но если приведенное выше исправлено, как описано ниже, то оно работает для вас:
if(foo){
Dance with me;
Sing with me;
}else{
Sing with me;
You don't know anything;
}
В то время как синтаксически хорошо опустить их, вы не должны. В одном случае, когда двусмысленность сильно ударяет,
if (false)
if (true) foo();
else
bar();
Это не будет работать ни foo
, ни bar
, так как else
относится ко второй инструкции if
. Нет проблем, если используются фигурные скобки:
if (false) {
if (true) { foo(); }
} else {
bar();
}
Да, это разрешено. Это также обсуждается до:
Но этого следует избегать:
Да, это синтаксически корректно. Но считается плохим.
Если вы написали его на одной строке, вы можете утверждать, что есть ситуации, когда это нормально, потому что это однозначно.
if (foo) bar;
В большинстве случаев, хотя фигурные скобки добавляются к ясности кода, это хорошо. Код чаще читается, чем написан, и он должен быть как можно более однозначным.
Кроме того, если вам в какой-то момент нужно добавить второй оператор, вам наверняка понадобится завиток.