if/else就是简单的条件语句,因为CoffeeScript里的代码块使用缩进来区分的,所以在写if/else语句的时候要注意缩进的处理哦。废话不多说,看例子:
#编译前
if a
doa()
else if b
dob()
else
doc()
//编译后
if (a) {
doa();
} else if (b) {
dob();
} else {
doc();
}
如果只是这样简单,那你就错了,CoffeeScript还支持if/unless后置写法,如下:
#编译前
oper() if a
oper() unless a
//编译后
if (a) {
oper();
}
if (!a) {
oper();
}
看代码相信大家也能区分if/unless的区别了,呵呵!
注意:if/unless后置的写法,只支持单操作,什么意思呢?看代码:
#编译前
if a
oper1()
oper2()
oper1() if a
//编译后
if (a) {
oper1();
oper2();
}
if (a) {
oper1();
}
后置的写法前面只能有一个表达式,如果你想进行复杂的处理的话,比如oper1处理完后,在处理oper2,那你不能采用后置的写法。后置的写法只适合单一处理的情况。
本人最爱的三目运算符也变成如下的写法了。
#编译前
date = if friday then sue else jill
//编译后
date = friday ? sue : jill;