Obtener la entrada del usuario en JavaScript

Shiv Yadav 12 octubre 2023
  1. Obtener información del usuario desde la consola del navegador
  2. Obtención de la entrada del usuario desde la consola de NodeJS
  3. Obtención de la entrada del usuario de NodeJS mediante el módulo prompt-sync
Obtener la entrada del usuario en JavaScript

Este artículo lo ayudará a comprender cómo obtener la entrada del usuario en JavaScript.

Hay dos formas de obtener la entrada del usuario en JavaScript, dependiendo de si desea la entrada desde el navegador o NodeJS. Esta guía le ayudará a aprender ambos.

Obtener información del usuario desde la consola del navegador

Para solicitar la entrada del usuario desde el navegador, debe utilizar el método prompt() proporcionado por el navegador. El método le permite aceptar la entrada del usuario como una cadena y almacenarla en una variable como esta:

const input = prompt();

Este método también acepta una cadena como información adicional para saber qué entrada espera la aplicación.

Por ejemplo, el siguiente código para solicitar un nombre de usuario se escribe a continuación:

const input = prompt('What\'s your name?');
alert(`Your name is ${input}`);

El método alert() muestra el resultado. Puede diseñar el texto de la línea como una pregunta o sugerencia según sus requisitos.

Obtención de la entrada del usuario desde la consola de NodeJS

Para aceptar la entrada del usuario desde la consola de NodeJS, debe usar el módulo readline provisto.

Puede usar los siguientes comandos como require() del módulo como se muestra a continuación:

const readline = require('readline');

Luego, debe crear una instancia de la interfaz adjunta al flujo de entrada. Utilice el método readline.createInterface() para crear una interfaz y pasar parámetros de entrada y salida como argumentos de objeto.

Escribir la entrada y la salida requiere escribir la entrada en process.stdin y la salida en process.stdout.

Aquí hay un ejemplo de creación de una interfaz readline.

const readline = require('readline');

const ql = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

El método question() debe llamarse en la instancia de interfaz asignada a la variable q1 en el código anterior para solicitar la entrada del usuario.

El método question() toma dos parámetros.

  • Cadena de pregunta que quieres hacerle al usuario.
  • Una función de devolución de llamada que se ejecutará cuando se reciba una respuesta y la respuesta se pase a la función

Puede omitir el objeto de parámetro y pasar la función de devolución de llamada como segundo parámetro.

Finalmente, puede cerrar la interfaz q1 llamando al método q1.close() dentro de la función de devolución de llamada.

arr.js:

const readline = require('readline');

const q1 = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

q1.question("Where do you live? ", function (answer) {
  console.log(`Oh, so you live in ${answer}`);
  console.log("Interface Closed");
  q1.close();
});

Obtención de la entrada del usuario de NodeJS mediante el módulo prompt-sync

Primero, debe instalar el módulo prompt-sync usando NPM o Yarn de la siguiente manera:

npm install prompt-sync
or
yarn add prompt-sync

Luego, necesita el módulo require() para prompt-sync.

Echa un vistazo al código de abajo.

pm.js:

const prompt = require('prompt-sync')();
const input = prompt('Where do you live? ');

console.log(`Oh, so you live in ${input}`);

Debido a que este método es síncrono, la instancia de Node espera la entrada antes de ejecutar la siguiente línea.

Autor: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

Artículo relacionado - JavaScript Event

Artículo relacionado - JavaScript Input