Подтвердить что ты не робот

Почему точки с запятой не используются после операторов if else?

Я понимаю, что хороший синтаксис использовать точки с запятой после всех утверждений в Javascript, но знает ли кто-нибудь, почему if/else утверждения не требуют их после фигурных скобок?

4b9b3361

Ответ 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

Поскольку сами фигурные фигурные скобки являются символами завершения.

Это токены, которые заключают в себе составной операторный блок и полностью завершены. Это как положить период в конце предложения, он сигнализирует парсеру, что мысль завершена.

Несмотря на то, что он полностью уродливый, для каждого утверждения в {} и для опускания: