Mode d’emploi
- Écrivez du code à gauche, ou modifiez l'exemple.
- Cliquez sur Exécuter ou appuyez sur Ctrl+Entrée (⌘+Entrée sur Mac). La sortie de la console apparaît à droite.
- Si le code s'exécute trop longtemps, cliquez sur Arrêter, ou réglez la limite de temps en bas à droite.
Explication des options
- Environnement
- Un Web Worker dans votre navigateur, avec la syntaxe JavaScript la plus récente prise en charge par votre navigateur, fetch, setTimeout, Intl et crypto, mais sans document ni window.
- Console
- console.log, info, warn, error, debug, table, count et time/timeEnd, avec les substitutions %s, %d et %o. Les objets sont développés à peu près comme dans Node.js.
- Top-level await
- Le code s'exécute à l'intérieur d'une fonction asynchrone, ce qui permet d'utiliser await directement.
Ce qui est affiché
Seul ce que vous envoyez à la console apparaît dans la sortie. La valeur de la dernière ligne n’est pas affichée comme elle le serait dans la console d’un navigateur : entourez-la donc de console.log. L’affichage suit le style de Node.js : les tableaux et les objets sont développés, les chaînes qu’ils contiennent sont entre guillemets, et les marqueurs %s et %d sont remplis à partir des arguments suivants.
console.log([1, 2, 3].map((n) => n * n));
console.log('%s is %d years old', 'Ada', 36);
console.log({ name: 'Ada', tags: ['a', 'b'] });
const data = await fetch('https://example.com/').then((r) => r.status);
console.log(data);
Les trois premières lignes affichent [ 1, 4, 9 ], Ada is 36 years old et { name: "Ada", tags: [ "a", "b" ] }. Les deux dernières lignes nécessitent une connexion réseau et affichent le statut HTTP de la requête. La limite de temps peut être réglée sur 5, 10, 30 ou 60 secondes ; lorsqu’elle est atteinte, l’exécution est interrompue et un message l’indique.
Questions fréquentes
Puis-je importer des paquets npm ?
Pas avec des instructions import. Vous pouvez charger des paquets ESM dynamiquement avec await import('https://esm.sh/nom-du-paquet'), ce qui nécessite une connexion réseau.
Que se passe-t-il si j'écris une boucle infinie ?
Cliquez sur Arrêter pour y mettre fin immédiatement, ou elle s'arrête automatiquement à la limite de temps. Chaque exécution utilise un nouveau worker, donc la page n'est pas affectée.
Mon code est-il envoyé quelque part ?
Non. Il s'exécute uniquement dans votre navigateur ; les seules requêtes réseau sont celles que votre propre code effectue.
TypeScript est-il pris en charge ?
Seulement JavaScript pour l'instant ; retirez d'abord les annotations de type TypeScript.
Confidentialité
Cet outil fonctionne entièrement dans votre navigateur. Vos fichiers et vos textes sont traités sur votre appareil et ne sont jamais envoyés à nos serveurs.