本节书摘来自异步社区《Node学习指南》一书中的第2章,第2.2节,作者【美】Shelley Powers,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.2 REPL的优势:更好地理解表层之下的JavaScript
Node学习指南
下例是一个REPL的典型示范:
> 3 > 2 > 1;
false
这段代码很好地解释了REPL的工作原理。一眼看上去会认为期望的输出值为true,因为3大于2,2大于1。但是在JavaScript中,表达式是从左到右计算的,每个表达式的返回值作为下一个表达式的一部分进行计算。
以下REPL中的语句可以帮助你更好地理解前端代码:
> 3 > 2 > 1;
false
> 3 > 2;
true
> true > 1;
false
现在这个结果看起来就合理多了。整个计算过程如下:首先计算表达式3>2,返回true;之后用true值与数字1进行比较。JavaScript提供了自动类型转换,true和1被认为是相等的值。因此,true不大于1,返回值为false。
REPL有助于我们发现JavaScript中这些有趣的地方。希望代码经过REPL的测试之后,应用程序中不会出现无法预测的结果(比如期望得到true却得到了false)。