2012-02-15 75 views
2

我正在構建一個JavaScript解析器,似乎有一些不同的觀點。switch語句中的默認情況是否可選?

ECMA-262似乎暗示它不是可選的,但維基百科表示它是。

ECMA-262

SwitchStatement:switch (表達)CaseBlock

CaseBlock:{CaseClauses 選擇}

{CaseClauses 選擇 DefaultClause CaseClauses 選擇}

Wikipedia

case default:是可選的。

維基百科只是意味着你可以從字面上寫如果你想要case default:

編輯

剛剛意識到我正在讀錯了ECMA。第一種情況塊選項即{CaseClauses 選擇}讓你錯過了默認塊。案件結案(如果你會赦免雙關語)。

回答

6

一個CaseBlock可以是以下的要麼

  • {CaseClauses 選擇}
  • {CaseClauses 選擇 DefaultClause CaseClauses 選擇}

這有點笨拙y說最多可以有一個DefaultClause,你可以把它放在CaseBlock的任何地方。

+0

謝謝,我在發佈後才意識到這一點。似乎我花了很多時間在美麗的格式化上沒有任何東西! – 2012-02-15 00:39:21

0

這僅僅意味着您不必編寫默認案例

0

它在ECMA標準中是可選的。 CaseBlock代表或者。

相關問題