CoffeeScript之,存在操作符“?”

在javascript中,我们调用对象变量的某个方法之前,经常会向下面的代码一样判断该对象是否存在,该变量定义过并且值不是null的话就调用相应的方法。

if (typeof p !== "undefined" && p !== null) {
  p.sayHello();
}

到了CoffeeScript中,上面的代码直接被简化成:

p?.sayHello()

意思就是变量p定义且被实例化过,则调用“sayHello”方法,否则就不调用。

一个“?”号代替了对应的javascript代码的条件判断部分,即能提高效率又能便于读懂而且工作的很好。

这样的语法糖何乐而不为呢!

^-^

 

posted @ 2013-05-19 22:44  白色的海  阅读(704)  评论(2编辑  收藏  举报