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/Atajo | Descripción |
|---|---|
.help | Muestra todos los comandos disponibles en REPL y sus descripciones. |
.exit | Salir 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. |
.break | Sale del modo de entrada de expresiones multilínea y vuelve al modo de entrada de una sola línea. |
.clear | Restablece el contexto de REPL, equivalente a borrar todas las variables y estados. |
Ctrl + C | Fuerza la salida de la entrada actual o termina el comando. Si se presiona dos veces, sale de la sesión de REPL. |
Ctrl + D | Finaliza la sesión de REPL, equivalente a.exit。 |
Ctrl + L | Limpia 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. |
Tab | Autocompleta la entrada, muestra posibles opciones o completa el comando. |
_ | Se utiliza para acceder al resultado de la expresión anterior. |
Ctrl + R | Entra en la búsqueda inversa del historial para buscar comandos introducidos anteriormente. |
Ctrl + U | Elimina todo el contenido de la línea actual desde el cursor hasta el inicio de la línea. |
Ctrl + K | Elimina todo el contenido de la línea actual desde el cursor hasta el final de la línea. |
Ctrl + A | Mueve el cursor al inicio de la línea. |
Ctrl + E | Mueve el cursor al final de la línea. |
Ctrl + B | Mueve el cursor un carácter hacia atrás. |
Ctrl + F | Mueve el cursor un carácter hacia adelante. |
Ctrl + N | Muestra la siguiente entrada del historial (igual que la tecla de flecha ↓). |
Ctrl + P | Muestra la entrada anterior del historial (igual que la tecla de flecha ↑). |
Ctrl + Z | Suspende 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 presiona
Tab, 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