Node.js REPL (intérprete interactivo)

Node.js proporciona un REPL integrado (Read-Eval-Print Loop), que es un entorno de programación interactivo en el que se puede ejecutar código JavaScript en la terminal.

El nombre REPL proviene de sus operaciones principales: lectura (Read), ejecución (Eval), impresión (Print) y bucle (Loop).

Node viene con un intérprete interactivo que puede realizar las siguientes tareas:

  • Leer (Read)- Lee la entrada del usuario, analiza la estructura de datos de JavaScript introducida y la almacena en la memoria.

  • Ejecutar (Eval)- Ejecuta la estructura de datos introducida

  • Imprimir (Print)- Muestra el resultado

  • Bucle (Loop)- Repite los pasos anteriores hasta que el usuario presione dos vecesctrl-cel botón para salir.

En REPL se puede introducir y ejecutar código JavaScript inmediatamente para verificar rápidamente fragmentos de código.

REPL es adecuado para probar lógica simple, depurar y experimentar con nueva sintaxis o API de Node.js.

Empezar a aprender REPL

Podemos introducir el siguiente comando para iniciar la terminal de Node:

node

Después de ejecutarlo, aparece lo siguiente:

# node
Welcome to Node.js v20.1.0.
Type ".help" for more information.
> 

En este momento podemos>introducir expresiones simples a continuación y presionar Enter para calcular el resultado.

Operaciones con expresiones simples

A continuación, ejecutemos operaciones matemáticas simples en la ventana de línea de comandos de Node.js REPL:

$ node
> 1 +4
5
> 5 / 2
2.5
> 3 * 6
18
> 4 - 1
3
> 1 + ( 2 * 3 ) - 4
3
>

Uso de variables

Puedes almacenar datos en variables y usarlos cuando los necesites.

La declaración de variables requierevarla palabra clave; si no se usa la palabra clave var, la variable se imprimirá directamente.

Usandovaresa palabra clave, las variables se pueden mostrar con console.log().

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

Expresiones multilínea

Node REPL admite expresiones multilínea, algo similar a JavaScript. A continuación, ejecutemos un bucle 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
>

...El símbolo de tres puntos es generado automáticamente por el sistema, solo tienes que presionar Enter para cambiar de línea. Node detecta automáticamente si se trata de una expresión continua.

Variable de subrayado (_)

Puedes usar el subrayado (_) para obtener el resultado de la expresión anterior:

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

Comandos de REPL

Tabla resumen de comandos y atajos de teclado comunes de Node.js REPL:

Comando/AtajoDescripción
.helpMuestra todos los comandos disponibles en REPL y sus descripciones.
.exitSalir de la sesión de REPL, equivalente a presionarCtrl + D。
.save <filename>Guarda la sesión actual de REPL en un archivo especificado.
.load <filename>Carga y ejecuta código desde un archivo especificado en REPL.
.breakSale del modo de entrada de expresiones multilínea y vuelve al modo de entrada de una sola línea.
.clearRestablece el contexto de REPL, equivalente a borrar todas las variables y estados.
Ctrl + CFuerza la salida de la entrada actual o termina el comando. Si se presiona dos veces, sale de la sesión de REPL.
Ctrl + DFinaliza la sesión de REPL, equivalente a.exit。
Ctrl + LLimpia la pantalla, similar a introducir en la terminalclear。
Teclas de dirección (↑/↓)Navega por el historial de entradas, muestra y vuelve a ejecutar comandos introducidos anteriormente.
TabAutocompleta la entrada, muestra posibles opciones o completa el comando.
_Se utiliza para acceder al resultado de la expresión anterior.
Ctrl + REntra en la búsqueda inversa del historial para buscar comandos introducidos anteriormente.
Ctrl + UElimina todo el contenido de la línea actual desde el cursor hasta el inicio de la línea.
Ctrl + KElimina todo el contenido de la línea actual desde el cursor hasta el final de la línea.
Ctrl + AMueve el cursor al inicio de la línea.
Ctrl + EMueve el cursor al final de la línea.
Ctrl + BMueve el cursor un carácter hacia atrás.
Ctrl + FMueve el cursor un carácter hacia adelante.
Ctrl + NMuestra la siguiente entrada del historial (igual que la tecla de flecha ↓).
Ctrl + PMuestra la entrada anterior del historial (igual que la tecla de flecha ↑).
Ctrl + ZSuspende la sesión de REPL y la coloca en segundo plano (disponible en algunos sistemas).

Detener REPL

Anteriormente ya mencionamos que presionar dos vecesctrl + cla tecla permite salir de REPL:

$ node
>
(^C again to quit)
>

Funciones avanzadas de REPL

  • Autocompletado: introduce parte del código y presionaTab, REPL intentará completar o mostrar posibles opciones.
  • Caché de resultados: REPL guarda automáticamente el resultado de la última ejecución en la variable especial_. Por ejemplo:
    > 5 + 5
    10
    > _ * 2
    20
    

Demostración de ejemplos con GIF

A continuación, demostramos las operaciones con ejemplos mediante imágenes GIF:

Otras extensiones