Я понимаю, что хороший синтаксис использовать точки с запятой после всех утверждений в Javascript, но знает ли кто-нибудь, почему if/else утверждения не требуют их после фигурных скобок?
Почему точки с запятой не используются после операторов if else?
Ответ 1
- Точка с запятой используется для завершения инструкции ONE
-
{
и}
запустите и закройте группу операторов
В принципе, за if-else
должен следовать оператор или группа операторов.
if-else
, за которым следует инструкция:
if (condition) statement;
if (condition); // followed by a statement (an empty statement)
if-else
, за которым следует группа операторов:
if (condition) {
statement;
statement;
}
if (condition) {
// followed by a group of statements of zero length
}
if-else
должен заканчиваться на ;
, если за ним следует один оператор. if-else
не заканчивается символом ;
, за которым следует группа операторов, потому что ;
используется для завершения одного оператора и не используется для завершения группы операторов.
Ответ 2
Реальный ответ заключается в том, что многие современные языки скопировали свой синтаксис из C, который обладает этим свойством. JavaScript является одним из этих языков.
C позволяет блоки оператора
{ ... }
(которые не нуждаются в оканчивающихся точках с запятой), которые будут использоваться там, где могут использоваться операторы. Таким образом, вы можете использовать блоки операторов как предложения then- и else-без точек с запятой.
Если вы поместите один оператор в предложение then или else, вам нужно его завершить с точкой с запятой. Опять же, как и в C, с добавлением лишнего JavaScript; необязательно в конце строки, если вставка не приведет к синтаксической ошибке.
Ответ 3
Поскольку сами фигурные фигурные скобки являются символами завершения.
Это токены, которые заключают в себе составной операторный блок и полностью завершены. Это как положить период в конце предложения, он сигнализирует парсеру, что мысль завершена.
Несмотря на то, что он полностью уродливый, для каждого утверждения в {} и для опускания: