⌘K でツールを切替
VALIDATE & INSPECT
JavaScript構文バリデーター
JavaScriptの構文エラーを検証します。
js-validator
Syntax is checked by compiling in your browser. The code is never executed and never sent anywhere.
§01 このツールについて
概要
「このJavaScriptはパースが通るか?」に即答するツールです。コードは
Functionコンストラクタ経由でブラウザ自身のエンジンに渡され、実行される
ことなくコンパイルだけが行われます。判定を下すのは独自実装のパーサーでは
なく、実際にスクリプトを動かす本物のエンジンです。コンパイルされた関数は
一度も呼び出されないため、副作用が発生する余地はありません。
使い方
- JavaScript欄にコードを貼り付けます。チェックは入力のたびに実行されます。
- ステータス行を確認します。成功ならNo syntax errors、失敗ならエンジンのエラー(例:
SyntaxError: Unexpected token '}')が表示されます。
使用例
const x = () => { return 1 }→No syntax errorsif (a { console.log(a) }→SyntaxError: Unexpected token '{'function f( {→SyntaxError: Unexpected end of input
注意事項
コードはブラウザ内でコンパイルされるだけで、実行も外部送信もされません。
モジュールではなく関数本体としてパースされるため、有効なESモジュールでも
import/export文やトップレベルawaitはエラーとして報告されます。
これは構文チェックのみであり、実行時エラー・未定義変数・ロジックのバグは
検出できません。より深い解析にはESLintなどのリンターを使ってください。
FAQ
コードは実行またはサーバーに送信されますか?
どちらもありません。コードはFunctionコンストラクタでコンパイル(パース)されるだけで、呼び出されることはなく、処理はすべてブラウザ内で完結します。実行・アップロード・保存は一切行いません。
どのバージョンのJavaScriptに対応していますか?
使用中のブラウザのエンジンが対応する範囲すべてです。最新のChrome・Firefox・Safariならアロー関数・オプショナルチェーン・クラスを含む現行ECMAScriptをパースでき、結果はそのブラウザが実際に受け付けるものと完全に一致します。
有効なファイルなのに import や export がエラーになるのはなぜですか?
コードはESモジュールではなく関数本体としてコンパイルされるためです。import/export宣言などモジュール専用の構文はこのコンテキストでは拒否されるので、除去するか、それ以外のロジック部分を検証してください。