Ejecutar código JavaScript/Node.js en línea

Escribe, ejecuta y prueba código JavaScript al instante con nuestro ejecutor en línea de JavaScript/Node.js. No necesitas configuración ni instalación — simplemente escribe y ejecuta JS en tu navegador, impulsado por Node.js.

💡 Guía Básica de Node.js para Principiantes

1. Declaración de Variables y Constantes

Usa let o const para variables con ámbito de bloque. const se usa para constantes.

let x = 10;
const PI = 3.14;
let name = "Alice";
let isActive = true;

2. Condicionales (if / switch)

Usa if, else if, else o switch para el flujo de control.

let x = 2;
if (x === 1) {
  console.log("Uno");
} else if (x === 2) {
  console.log("Dos");
} else {
  console.log("Otro");
}

switch (x) {
  case 1:
    console.log("Uno");
    break;
  case 2:
    console.log("Dos");
    break;
  default:
    console.log("Otro");
}

3. Bucles

Usa for, while, y forEach para iterar sobre datos.

for (let i = 0; i < 3; i++) {
  console.log(i);
}

let n = 3;
while (n > 0) {
  console.log(n);
  n--;
}

4. Arreglos

Usa arreglos para almacenar listas ordenadas de valores. Accede a ellos con índices.

let fruits = ["apple", "banana", "cherry"];
console.log(fruits[0]);
console.log(fruits.length);

5. Manipulación de Arreglos

Usa métodos como push, pop, slice, y reverse.

fruits.push("kiwi");
fruits.pop();
console.log(fruits.slice(0, 2));
console.log(fruits.reverse());

let squares = [1, 2, 3, 4, 5].map(x => x * x);
console.log(squares);

6. Entrada/Salida de Consola

Usa console.log para salida y el módulo readline para entrada.

const readline = require('readline');

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

rl.question("¿Cómo te llamas? ", name => {
  console.log(`Hola, ${name}`);
  rl.close();
});

7. Funciones

Las funciones pueden ser declaradas o expresadas. Las funciones flecha se usan a menudo en JavaScript moderno.

function greet(name) {
  return `Hola, ${name}`;
}

const add = (a, b) => a + b;

console.log(greet("Alice"));
console.log(add(2, 3));

8. Objetos (Mapas)

Los objetos almacenan pares clave-valor. Son similares a diccionarios o mapas.

let person = { name: "Bob", age: 25 };
console.log(person.name);
console.log(person["age"]);

// ES6 Map
const map = new Map();
map.set("a", 1);
console.log(map.get("a"));

9. Manejo de Excepciones

Usa try, catch, y finally para manejar errores de forma segura.

try {
  throw new Error("Algo salió mal");
} catch (e) {
  console.log(e.message);
} finally {
  console.log("Limpieza si es necesario");
}

10. Entrada/Salida de Archivos

Usa el módulo fs de Node.js para leer y escribir archivos.

const fs = require("fs");

fs.writeFileSync("test.txt", "Hola Archivo");
const data = fs.readFileSync("test.txt", "utf8");
console.log(data);

11. Manipulación de Cadenas

Usa métodos como trim(), toUpperCase(), replace(), y split().

let text = "  Hola Mundo  ";
console.log(text.trim());
console.log(text.toUpperCase());
console.log(text.replace("Hola", "Hi"));
console.log(text.split(" "));

12. Clases y Objetos

ES6+ soporta POO con la sintaxis de class.

class Person {
  constructor(name) {
    this.name = name;
  }
  greet() {
    return `Hola, soy ${this.name}`;
  }
}

const p = new Person("Alice");
console.log(p.greet());

13. Referencias

Los objetos y arreglos en JavaScript se pasan por referencia.

function update(arr) {
  arr.push("cambiado");
}

let data = ["original"];
update(data);
console.log(data);  // ["original", "cambiado"]