CoffeeScript里的or

来源:互联网 发布:好莱坞旅游攻略 知乎 编辑:程序博客网 时间:2024/04/30 18:26

CoffeeScript里的or,其实会被编译为 ||

这并没有什么令人惊奇之处。我惊讶的是类似这样一个表达式:

word = nullhi = word or "Hello World!"alert hi

最终翻译成javascript是:

var hi, word;word = null;hi = word || "Hello World!";alert(hi);

hi = word || "Hello World!"

这句话怎么理解呢?要么等于word,要么等于 “Hello World!”?究竟等于那一个?或者是随机等于一个,哪个都可以?

猜测是优先等于前面这个,如果前面这个为false,那么等于后面那个。事实也是如此。

那么,这是node.js解释成这样的吗?不是的,放在浏览器里执行,也是同样的结果,说明这是javascript里的固有属性。

再次表明,我对javascript掌握得并不好。醉了。

word1 = nullword2 = nullhi = word1 or word2 or "Hello World!"alert hi
执行结果一样的。

0 0
原创粉丝点击