if if then then else 除非三元運算子

if 構造的最基本例項評估條件並根據條件結果執行一些程式碼。如果條件返回 true,則執行條件內的程式碼。

counter = 10
if counter is 10
  console.log 'This will be executed!'

if 構造可以用 else 語句來豐富。只要不滿足 if 條件,else 語句中的程式碼就會執行。

counter = 9
if counter is 10
  console.log 'This will not be executed...'
else
  console.log '... but this one will!'

if 構造可以使用 else 連結,對連結的數量沒有任何限制。返回 true 的第一個條件將執行其程式碼並停止檢查:此後將不再評估該點以下的條件,並且不會執行帶有這些條件的程式碼塊。

if counter is 10
  console.log 'I counted to 10'
else if counter is 9
  console.log 'I counted to 9'
else if counter < 7
  console.log 'Not to 7 yet'
else
  console.log 'I lost count'

if 的另一種形式是 unless。與 if 不同,unless 只有在條件返回 false 時才會執行。

counter = 10
unless counter is 10
  console.log 'This will not be executed!

if 語句可以放在一行中,但在這種情況下,then 關鍵字是必需的。

if counter is 10 then console.log 'Counter is 10'

另一種語法是 Ruby-like:

console.log 'Counter is 10' if counter is 10

最後兩個程式碼塊是等效的。

三元運算子是 if / then / else 構造的壓縮,可以在為變數賦值時使用。分配給變數的最終值將是在符合 if 條件的 then 之後定義的值。否則,將分配 else 之後的值。

outcome = if counter is 10 then 'Done counting!' else 'Still counting'