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'