CoffeeScript之,存在操作符“?”
在javascript中,我们调用对象变量的某个方法之前,经常会向下面的代码一样判断该对象是否存在,该变量定义过并且值不是null的话就调用相应的方法。
if (typeof p !== "undefined" && p !== null) { p.sayHello(); }
到了CoffeeScript中,上面的代码直接被简化成:
p?.sayHello()
意思就是变量p定义且被实例化过,则调用“sayHello”方法,否则就不调用。
一个“?”号代替了对应的javascript代码的条件判断部分,即能提高效率又能便于读懂而且工作的很好。
这样的语法糖何乐而不为呢!
^-^