Em Node.js, o recebimento de input (entrada de dados) e o envio de output (saída de dados) para o usuário geralmente ocorre através do terminal (linha de comando), sendo uma parte fundamental para a interação do programa com o usuário.

Vou detalhar os conceitos e os principais métodos para lidar com esses fluxos, além de como criar interfaces interativas para o recebimento de dados do usuário.

Fluxos de Entrada (Input) e Saída (Output) em Node.js


1. Entrada de Dados (Input)

O input é a informação que seu programa recebe do usuário, geralmente a partir do teclado, como um valor numérico, texto, ou qualquer outro dado. Em Node.js, o fluxo de entrada padrão é gerido por streams, que permitem ler dados de uma fonte, como o teclado (entrada padrão, stdin).

a. process.stdin

process.stdin é um stream de leitura que permite ler dados diretamente do terminal. Esse é o fluxo de entrada para obter dados do usuário.

Características importantes:

Exemplo básico de process.stdin:

process.stdin.on('data', (input) => {
    console.log(`Você digitou: ${input.toString()}`);
});

Nesse exemplo, sempre que o usuário digita algo no terminal, o programa captura e imprime a entrada.-


b. readline