Entrada y Salida (E/S)
Lee entrada y muestra salida al usuario.
Resumen Rápido
La E/S conecta tu programa con el mundo exterior. En navegadores puedes usar prompt, alertas o el DOM, mientras que en Node.js lees de stdin y escribes a stdout con métodos de consola. Entender la E/S es esencial para construir programas interactivos.
¿Qué es la E/S?
Entrada/Salida (E/S) es cómo tu programa se comunica con el mundo exterior:
- Entrada: Datos que ENTRAN a tu programa (teclado, archivos, API)
- Salida: Datos que SALEN de tu programa (pantalla, archivos, red)
E/S del Navegador
Salida a Consola:
console.log("Regular message");
console.warn("Warning message");
console.error("Error message");
console.table([{a: 1}, {a: 2}]); // Formatted table
Prompts de Usuario (simples pero limitados):
// Get text input
const name = prompt("What's your name?");
// Show message
alert("Hello, " + name);
// Yes/No confirmation
const confirmed = confirm("Are you sure?");
Manipulación del DOM (aplicaciones web reales):
// Output to page
document.getElementById("output").textContent = "Hello!";
// Get input from form
const input = document.getElementById("nameInput").value;
E/S en Node.js
Salida:
console.log("Output to terminal");
process.stdout.write("No newline");
Entrada (módulo readline):
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question("What's your name? ", (answer) => {
console.log("Hello, " + answer);
rl.close();
});
E/S de Archivos (Node.js)
const fs = require('fs');
// Read file
const data = fs.readFileSync('file.txt', 'utf8');
// Write file
fs.writeFileSync('output.txt', 'Hello, World!');
Formateando la Salida
// Template literals for complex strings
const user = { name: "Alice", score: 95 };
console.log(`User ${user.name} scored ${user.score}%`);
// JSON for data
console.log(JSON.stringify(user, null, 2));
Pruébalo Tú Mismo
Aquí tienes un ejemplo práctico que puedes probar. Copia este código y ejecútalo en la consola de tu navegador (presiona F12 para abrir las herramientas de desarrollo) o en el Playground de Código.
// Console output (works everywhere)
console.log("Hello, World!");
console.log("User:", { name: "Alice", age: 30 });
// Formatted output with template literals
const product = "Coffee";
const price = 4.99;
console.log(`${product} costs $${price.toFixed(2)}`);
// Browser: Simple user input
const userName = prompt("What is your name?");
if (userName) {
alert("Welcome, " + userName + "!");
}
// Browser: Yes/No question
const wantsCookies = confirm("Accept cookies?");
console.log("Accepted:", wantsCookies);
// Console methods for debugging
console.warn("This is a warning");
console.error("This is an error");
console.table([
{ name: "Alice", age: 30 },
{ name: "Bob", age: 25 }
]);
// Output JSON data (useful for debugging)
const data = { users: ["Alice", "Bob"], count: 2 };
console.log(JSON.stringify(data, null, 2));
/*
{
"users": ["Alice", "Bob"],
"count": 2
}
*/Puntos Clave
- ✓Lee entrada y muestra salida al usuario.
- ✓Practica con ejemplos de código reales para solidificar tu comprensión
- ✓Este concepto construye la base para temas más avanzados
Recursos de Aprendizaje Relacionados
Continúa tu camino de programación con estos tutoriales relacionados: