¿Que es REPL?

En la serie anterior pudimos observar cómo ejecutar un archivo de JavaScript con Node.js, con el siguiente comando:

node index.js

Utilizamos el comando node y le enviamos el argumento de index.js para ejecutarlo. Pero Node.js no solamente se puede utilizar para ejecutar programas, también se puede utilizar como un programa de línea de comandos para evaluar expresiones; esto se llama REPL (Read Eval Print Loop). Para ingresar, sencillamente utilizamos el siguiente comando:

node

Se pueden escribir expresiones como: 1+1 y presionar la tecla ENTER o expresiones como "A" === "A" y presionar la tecla ENTER. Como su nombre lo dice, por cada uno de los comandos introducidos, realiza las siguientes operaciones:

  1. Lee la expresión
  2. Evalúa la expresión
  3. Imprime el resultado
  4. Repite el proceso

Para salir de este ciclo se puede utilizar la combinación de teclas Ctrl+C dos veces, también se puede utilizar la combinación de teclas CTRL+D o la expresión process.exit(0).

Inclusive se puede escribir un programa completo.

node (ENTER)
var a = 0; (ENTER)
if (a === 0) { (ENTER)
console.log("a == 0"); (ENTER)
} (ENTER)

La palabra ENTER se coloca para indicar cuándo se presiona dicha tecla

Se puede notar que al escribir la expresión if (a === 0) { y se presiona la tecla ENTER; no se evalúa inmediatamente, ya que en la presencia del { indica el comienzo de un bloque y al ingresar } se termina evaluando todo el bloque.

Para mayor comodidad, se puede introducir el comando .editor para habilitar un editor en la línea de comando para crear el programa con mayor facilidad:

node
> .editor
// Entering editor mode (^D to finish, ^C to cancel)

Todos los comandos listados a continuación se pueden utilizar dentro de la línea de comandos de REPL y NO en la línea de comandos del sistema:

  • La tecla TAB muestra un listado de todas las funciones disponibles.
  • El comando .break o CTRL+C permite añadir una nueva línea.
  • Una vez finalizamos la sesión todas las variables se pierden, pero se puede guardar en un archivo con el siguiente comando .save [nombre-de-archivo].
  • De la misma manera, se pueden cargar nuevamente con el comando .load [nombre-del-archivo].
  • El listado de otros comandos está disponible con el comando .help.

En conclusión, Node REPL es muy útil para probar funcionalidades de manera muy rápida o inclusive depurar un programa.

Más información: