コード、データと QRツール

JS インタープリター

実行ごとに新しいサンドボックスで短い JavaScript コードを試せます。式またはスクリプトを選び、出力を確認し、いつでも停止できます。

ブラウザ内で処理登録不要プライバシーの説明 ↗

毎回初期状態 · 最大 50,000 文字 · 2 秒で終了 · DOM、通信、サイトの保存領域、import は利用不可。スクリプトは console と任意の return を使います。

出力

使い方

使い方

  1. コードを入力するか例を読み込みます。
  2. 値を求める場合は式、文と任意の return にはスクリプトを選びます。
  3. 実行して出力やエラーを確認し、停止ボタンで実行を終了します。

2 つの実行モード

式は値を返します。スクリプトは非同期関数の本体として実行されます。console.log、console.info、console.warn、console.error で出力し、return で最終値を返します。両モードで await を使えます。構文の対応範囲はブラウザーによります。

隔離と制限

コードは sandbox="allow-scripts" の iframe 内の専用 worker だけで実行され、同一オリジン権限はありません。CSP がネットワーク接続と外部スクリプトを禁止します。ページ DOM、サイトの保存領域、画面遷移、ポップアップ、ダウンロードにはアクセスできません。実行は最大 2 秒で手動停止も可能です。入力は 50,000 文字、出力は 100 行 / 32,000 文字までです。

毎回新しいローカル実行

コードと結果は送信・保存されません。変数は次の実行に引き継がれません。戻り値や promise が完了するとタイマーも破棄します。パッケージ、外部 import、HTML 描画、ファイルシステム、Node.js API は提供しません。メモリを厳密には制限できないため、小さいコードを使ってください。

よくある質問

あわせて知りたいこと

ページへのアクセスや API 通信はできますか?

できません。worker に document や window はなく、CSP が通信と import を禁止します。親ページの保存領域も読めません。

無限ループを止めるには?

停止を選びます。worker のイベントループが止まっていても、iframe の独立タイマーが 2 秒後に worker を終了します。

REPL の状態は保持されますか?

毎回初期状態です。依存する文は同じスクリプトに入れ、最終結果には return を使います。

サンドボックスの準備に失敗したら?

実行を拒否します。親ページでコードを実行する代替処理はありません。