簡體   English   中英

為什么在 if/else 語句后不使用分號?

[英]Why are semicolons not used after if/else statements?

我知道在 Javascript 中的所有語句之后使用分號是一種很好的語法,但是有人知道為什么 if/else 語句在大括號之后不需要它們嗎?

  • 分號用於結束 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必須以 a 結尾; 如果后面跟着一個語句。 if-else不以 a 結尾; when 后面跟着一組語句,因為; 用於結束單個語句,不用於結束一組語句。

真正的答案是因為許多現代語言從 C 復制了它們的語法,C 具有此屬性。 JavaScript 是這些語言之一。

C 允許語句塊

 { ... }

(不需要終止分號)在可以使用語句的地方使用。 因此,您可以將語句塊用作 then- 和 else- 子句,而無需使用分號。

如果將單個語句放在 then- 或 else- 子句中,則需要用分號終止它。 同樣,就像在 C 中一樣,額外的 JavaScript 扭曲是 ; 在一行的末尾是可選的,如果插入它不會導致語法錯誤。

因為花括號本身就是終止符。

它們是包含復合語句塊並且本質上終止的標記。 這就像在一個句子的末尾加上一個句號,它向解析器發出信號,表示這個想法已經完成。

雖然完全丑陋,但將每個語句包裝在 {} 中並省略 ; 是有效的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM