Herramienta JavaScript Online

Ejecuta JavaScript en un marco aislado y consulta la consola.

Código fuenteLíneas: 7 · Caracteres: 203
Plantillas
Validación:No se encontraron errores de sintaxis.

¿Qué es un laboratorio de JavaScript en línea?

Un laboratorio de JavaScript en línea es un editor conectado a una consola del navegador: escribes un fragmento, pulsas Ejecutar y lees la salida sin instalar Node, abrir DevTools ni crear un archivo.

Es la forma más rápida de comprobar un helper de fechas, comparar dos métodos de array o confirmar en qué se resuelve una promesa. Cada ejecución ocurre dentro de un iframe en sandbox en tu propia máquina, así que el fragmento no puede alcanzar el resto de esta página.

Cómo ejecutar JavaScript en línea

  1. Escribe o pega tu fragmento en el panel de JavaScript, o parte de una de las cuatro plantillas.
  2. Lee el panel de comprobación sintáctica: acorn informa del primer error de análisis con línea y columna antes de ejecutar nada.
  3. Pulsa Ejecutar, o activa Ejecución automática para volver a ejecutar aproximadamente un segundo después de que dejes de escribir.
  4. Observa el panel de consola: log, info, warn, error y el valor de finalización se listan en orden, con el tiempo total de ejecución.
  5. El código que toca document.body se renderiza dentro del marco de salida en sandbox, no en esta página.
  6. Pulsa Detener para cortar un bucle descontrolado y luego formatea, copia o descarga el fragmento como snippet.js.

Ejemplos del ejecutor de JavaScript

Registrar valores y objetos

const user = { name: "Ada", roles: ["admin"] }
console.log(user, 42)
LOG  {
  "name": "Ada",
  "roles": [
    "admin"
  ]
}
LOG  42

Detectar un error de sintaxis antes de ejecutar

let x = ;
Comprobación sintáctica: Unexpected token (1:9)

await en el nivel superior

const wait = (ms) => new Promise((r) => setTimeout(r, ms))
await wait(100)
console.log("done after 100 ms")
LOG  done after 100 ms
Ejecutado en 104 ms

Laboratorio de JavaScript frente a DevTools

CriterioEste laboratorioConsola de DevToolsNode.js en local
InstalaciónAbres la página, no instalas nadaAbres DevTools en cualquier páginaInstalar Node y arrancar un REPL
Aislamientoiframe en sandbox, no toca esta páginaAcceso total a la página que depurasAcceso total a tu sistema de archivos
Bucle descontroladoDetener reemplaza el iframeCerrar la pestañaCtrl+C al proceso
EdiciónMonaco con números de línea, plantillas y FormatearPrompt de una línea con historialEditor y REPL, dos ventanas
CompartirCopia el fragmento o descarga snippet.jsCopia línea a línea desde el registroGuarda un archivo y lo envías
Preguntas frecuentes

Preguntas frecuentes del ejecutor de JavaScript

¿Se sube mi código a un servidor?

No. El fragmento se ejecuta en un iframe en sandbox dentro de tu propia pestaña, y no se envía a ningún sitio.

¿Puedo usar async/await?

Sí. El fragmento se envuelve en una función async antes de ejecutarse, así que await funciona en el nivel superior. Las sentencias import estáticas no están admitidas.

¿Por qué localStorage lanza un error dentro del sandbox?

El iframe tiene un origen opaco a propósito, así que el almacenamiento y las API del mismo origen quedan bloqueados. Eso es lo que mantiene el fragmento lejos de los datos de este sitio.

¿Cómo detengo un bucle infinito?

Pulsa Detener. Descarta el iframe y carga uno nuevo, lo que termina lo que el marco anterior siguiera ejecutando.

¿console.log muestra objetos anidados?

Sí. Los objetos y arrays se serializan con sangría, las referencias circulares se marcan y los Error imprimen su pila.

¿Puede el fragmento cambiar la página que estoy viendo?

No. Los cambios del DOM aparecen en el marco de salida del sandbox. El editor, la consola y el resto de esta página son documentos distintos.

¿Admite TypeScript o JSX?

No, este ejecutor solo ejecuta JavaScript puro. Usa el laboratorio de TypeScript cuando necesites comprobación de tipos, o las herramientas JSON para datos.

Todas las Herramientas