CoffeeScript里的or,其实会被编译为 ||
这并没有什么令人惊奇之处。我惊讶的是类似这样一个表达式:
- word = null
- hi = 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 = null
- word2 = null
- hi = word1 or word2 or "Hello World!"
- alert hi
执行结果一样的。

![[手游] 三网H5小游戏【少年仙路】WIN系服务端+Linux手工服务端+详细搭建教程](https://cdn.jxasp.com:9143/image/20260615/136BC33AA47EB0D84E878835A8B38FDB.png)

















