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

执行结果一样的。

最新文章

  1. setCapture、releasCapture 浅析
  2. 【SQL Server】SQL Server基础之存储过程
  3. 大熊君说说JS与设计模式之------状态模式State
  4. 谈谈MVC模式
  5. 浅析Netty的异步事件驱动(一)
  6. git生成密钥
  7. cp命令的实现
  8. 【SSH 基金会】SSH框架--struts进一步的详细解释(两)
  9. Java多态(一)
  10. a:hover 等伪类选择器
  11. git 使用简易指南
  12. 从koa-session源码解读session本质
  13. 驰骋工作流引擎JFlow与activiti的对比之2种结构化模式
  14. 《我们不一样》Alpha冲刺_1-5
  15. C#实现.Net对邮件进行DKIM签名和验证,支持附件,发送邮件签名后直接投递到对方服务器(无需己方邮件服务器)
  16. Linux - sed 常用操作
  17. rabbitmq集群步骤
  18. Python操作Mongo数据库
  19. Educational Codeforces Round 10 D. Nested Segments 离线树状数组 离散化
  20. django request bug

热门文章

  1. jquery插件集合
  2. centos右上角wired图标消失有效解决方案
  3. C++ Error C2662 cannot convert 'this' pointer from 'const *'
  4. C语言scanf函数详细解释(转载)
  5. RQNOJ #204 特种部队 sol
  6. HDU - 6266 - HDU 6266 Hakase and Nano (博弈论)
  7. python lambda简易使用
  8. MyBatis 的基本要素—SQL 映射文件
  9. Python异常捕捉的一个小问题
  10. BZOJ 2095 [POI2010]Bridges (最大流、欧拉回路)