Node.js - REPL 终端


REPL 代表 Read Eval Print Loop,它代表一个计算机环境,例如 Windows 控制台或 Unix/Linux shell,其中输入命令,系统以交互模式响应输出。Node.js 或Node与 REPL 环境捆绑在一起。它执行以下任务 -

  • 读取- 读取用户的输入,将输入解析为 JavaScript 数据结构,并存储在内存中。

  • Eval - 获取并评估数据结构。

  • 打印- 打印结果。

  • Loop - 循环上述命令,直到用户按ctrl-c两次。

Node 的 REPL 功能对于试验 Node.js 代码和调试 JavaScript 代码非常有用。

在线 REPL 终端

为了简化您的学习,我们在线设置了一个易于使用的 Node.js REPL 环境,您可以在其中练习 Node.js 语法 -启动 Node.js REPL 终端

启动 REPL

REPL 可以通过简单地在 shell/控制台上运行节点来启动,无需任何参数,如下所示。

$ node

您将看到 REPL 命令提示符 > 您可以在其中键入任何 Node.js 命令 -

$ node
>

简单表达

让我们在 Node.js REPL 命令提示符下尝试一个简单的数学运算 -

$ node
> 1 + 3
4
> 1 + ( 2 * 3 ) - 4
3
>

使用变量

您可以像任何传统脚本一样使用变量来存储值并稍后打印。如果未使用var关键字,则该值将存储在变量中并打印。而如果使用var关键字,则存储该值但不打印该值。您可以使用console.log()打印变量。

$ node
> x = 10
10
> var y = 10
undefined
> x + y
20
> console.log("Hello World")
Hello World
undefined

多行表达式

Node REPL 支持类似于 JavaScript 的多行表达式。让我们检查一下下面的 do-while 循环的实际效果 -

$ node
> var x = 0
undefined
> do {
   ... x++;
   ... console.log("x: " + x);
   ... } 
while ( x < 5 );
x: 1
x: 2
x: 3
x: 4
x: 5
undefined
>

...当您在左括号后按 Enter 时,会自动出现。Node自动检查表达式的连续性。

下划线变量

您可以使用下划线(_)来获取最后的结果 -

$ node
> var x = 10
undefined
> var y = 20
undefined
> x + y
30
> var sum = _
undefined
> console.log(sum)
30
undefined
>

REPL 命令

  • ctrl + c - 终止当前命令。

  • ctrl + c 两次- 终止节点 REPL。

  • ctrl + d - 终止节点 REPL。

  • 向上/向下键- 查看命令历史记录并修改以前的命令。

  • tab 键- 当前命令列表。

  • .help - 所有命令的列表。

  • .break - 退出多行表达式。

  • .clear - 退出多行表达式。

  • .save filename - 将当前的 Node REPL 会话保存到文件中。

  • .load filename - 在当前 Node REPL 会话中加载文件内容。

停止 REPL

如上所述,您需要使用ctrl-c 两次才能退出 Node.js REPL。

$ node
>
(^C again to quit)
>