Online JavaScript Runner

Write, run, and debug JavaScript or Node.js online in a full-featured browser IDE. Work with multiple files and packages, save your workspace, and collaborate in real time.

Bibliotecas preinstaladas
🚀 339,661 ejecuciones totales (665 este mes)
Insertar
Salida

Practica JavaScript con desafíos de código

Resuelve problemas prácticos en este editor: ejecuta las pruebas de ejemplo, envía tu solución y recibe una revisión de código por IA.

Todos los desafíos de JavaScript
Fácil

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

Aprenderás AritméticaValores de retorno
BeginnerLearning-pathVariables
Fácil

Distance Between Points

Compute the straight-line distance between two points.

Aprenderás Teorema de PitágorasRaíces cuadradas
BeginnerFunctionsLearning-pathmath
Fácil

Days in a Month

Return how many days a month has, including leap years.

Aprenderás Reglas del calendarioFunciones auxiliares
BeginnerConditionsFunctionsLearning-path
Fácil

Producto escalar de dos vectores

Multiplica dos vectores elemento a elemento y suma los resultados, la operación central de toda neurona.

Aprenderás VectoresProducto escalar
Redes neuronalesaiaprendizaje automático
Fácil

El mayor de tres

Elige el mayor de tres números sin usar una función máxima incorporada.

Aprenderás ComparacionesCombinar condiciones
BeginnerConditionsLearning-path
Fácil

Verificación de número primo

Determina si un número es primo.

Aprenderás DivisibilidadOptimizar bucles
BeginnerLoopsNumbersStudent-beginner
Fácil

Number Triangle

Build a triangle of increasing numbers.

Aprenderás Filas crecientesContador entre filas
BeginnerLearning-pathNested-loopsPatterns
Fácil

Número de Armstrong

Verifica si un número es igual a la suma de sus dígitos elevados a la cantidad de dígitos.

Aprenderás Extraer dígitosPotencias
BeginnerNumbersStudent-beginner
Fácil

Row Sums

Add up every row of a grid.

Aprenderás Listas 2DBucles anidados
BeginnerGridsLearning-path
Fácil

Min and Max Together

Find the smallest and largest value in one pass.

Aprenderás Una sola pasadaVarios valores de retorno
ArraysBeginnerFunctionsLearning-path
Fácil

Contar pares con una suma

Cuenta los pares de posiciones cuyos valores suman un objetivo dado.

Aprenderás Pares de índicesEvitar contar dos veces
ArraysBeginnerLearning-pathNested-loops
Fácil

Hollow Square

Draw the outline of a square with * characters.

Aprenderás Detectar bordesConstruir cadenas
BeginnerLearning-pathNested-loopsPatterns

⚡ Acerca de este ejecutor de JavaScript (Node.js) en línea

El Ejecutor de JavaScript de CodeUtility te permite escribir y ejecutar código JavaScript moderno directamente en tu navegador - al instante y sin ninguna configuración. Utiliza entornos reales de Node.js para ejecutar tu código de forma segura en un contenedor aislado, con soporte para las versiones 16, 18 y 20.

Esta herramienta es perfecta para probar fragmentos de Node.js, explorar la sintaxis de ES6+ o aprender conceptos básicos de programación en JavaScript como bucles, funciones, arrays, promesas y el comportamiento de async/await.

También puedes usarla para validar algoritmos, depurar scripts pequeños o experimentar con lógica en tiempo de ejecución sin instalar Node localmente. Es ideal para estudiantes, desarrolladores backend o cualquiera que necesite una forma rápida y basada en el navegador para ejecutar código JavaScript.

Más que un ejecutor de código

Utiliza un editor de varios archivos, un terminal de ejecución aislado, bibliotecas específicas del entorno, espacios de trabajo persistentes, opciones para compartir y colaboración en tiempo real desde el mismo ejecutor.

¿Cómo se utiliza este ejecutor?

Elige un entorno de ejecución, abre o crea un archivo, escribe el código y selecciona Ejecutar. El resultado aparece en el terminal; los usuarios que han iniciado sesión pueden conservar archivos en un espacio de trabajo, instalar bibliotecas y colaborar mediante elementos compartidos.

  1. Selecciona una versión y edita el archivo actual o abre otro archivo del espacio de trabajo.
  2. Ejecuta el código, introduce datos en el terminal cuando se soliciten y revisa el historial de ejecuciones guardado.
  3. Utiliza bibliotecas, herramientas del espacio de trabajo, opciones para compartir y el chat cuando la tarea requiera más de un fragmento.

💡 Guía de conceptos básicos de Node.js para principiantes

1. Declaración de variables y constantes

Usa let o const para variables con alcance de bloque. const se utiliza 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. Arrays

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

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

5. Manipulación de arrays

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 por consola

Usa console.log para la salida y el módulo readline para la 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 declararse o expresarse. Las funciones flecha se usan mucho 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"]);

// Mapa de ES6
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 hace falta");
}

10. E/S 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", "Buenas"));
console.log(text.split(" "));

12. Clases y objetos

ES6+ admite 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 arrays en JavaScript se pasan por referencia.

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

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