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'