REPL是Read-Evaluate-Print-Loop的缩写,它是一种快速探索Node功能的好方法
node 命令是我们用来运行Node.js脚本的。
如果我们省略文件名,我们就在REPL模式下使用它。
如果你现在在你的终端尝试一下,会发生这样的情况。
该命令保持在空闲模式,等待我们输入什么。
提示:如果你不确定如何打开你的终端,谷歌 "如何打开终端"。
REPL正在等待我们输入一些JavaScript代码,更准确地说。
从简单的开始,输入
> console.log('test')
test
undefined
>
第一个值,test ,是我们告诉控制台要打印的输出,然后我们得到undefined,这是运行console.log() 的返回值。
我们现在可以输入一行新的JavaScript。
使用tab来自动完成
REPL最酷的地方是它是互动的。
当你写代码时,如果你按下tab 键,REPL将尝试自动完成你写的内容,以匹配你已经定义的变量或预定义的变量。
探索JavaScript对象
试着输入一个JavaScript类的名称,如Number ,加一个点,然后按tab 。
REPL将打印出你可以访问该类的所有属性和方法。

探索全局对象
你可以通过输入global. ,然后按tab ,来检查你可以访问的全局对象。

_ 特殊变量
如果在一些代码之后,你输入_ ,这将会打印出最后一个操作的结果。
点命令
REPL有一些特殊的命令,都是以点开始的. 。它们是
.help:显示点命令的帮助.editor:使编辑器更多,可以轻松地编写多行JavaScript代码。一旦你进入这种模式,输入ctrl-D就可以运行你写的代码。.break断句:当输入一个多行表达式时,输入.break命令将中止进一步的输入。与按下ctrl-C相同。.clear: 将 REPL 上下文重置为一个空对象,并清除当前正在输入的多行表达式。.load:加载一个相对于当前工作目录的JavaScript文件。.save: 将你在REPL会话中输入的所有内容保存到一个文件中(指定文件名)。.exit: 存在副本(与按两次ctrl-C相同)。
REPL知道你何时在输入一个多行语句,而不需要调用.editor 。
例如,如果你开始键入一个迭代,像这样。
[1, 2, 3].forEach(num => {
并按下enter ,REPL将转到一个以3点开始的新行,表明你现在可以继续处理该块。
... console.log(num)
... })
如果你在一行的末尾输入.break ,多行模式将停止,语句将不被执行。