社内SEの話

日々起きたことの記録用

【JavaScript】ReferenceError_ _x_ is not defined

↓プログラミングで副業を考えたらこちら↓

Google Apps Scriptで自分だけが使うマイクロサービスを作っています。

そんな中JSの機能を実装中にエラーが発生しました。

エラー発生

ReferenceError: \"x\" is not defined

というエラーです。

developer.mozilla.org

エラーの内容を確認すると、スコープの範囲外を参照した場合に発生するようです。

問題のプログラムを確認してもスコープの範囲外になるような変数は使っていませんでした。

今回のエラーはスコープ外と言うより、イベント発生時の関数の呼び出しに失敗しているようです。

問題解決

JSの勉強中でもあり、なかなか問題の本質にたどり着けませんでしが、原因の特定ができました。

構文エラーでした。

"(ダブルクォーテーション)が全角になっていた。

ブランク(スペース)が全角になっていた。

PythonであればSyntax errorが表示されるのですが、Chromeデバッグモードでは表示されず、問題が問題を呼び沼にハマってしまいました。

一度Visual Studio Codeでプログラムを全部コピーして確認すると、エラー箇所が表示されました。

VSCodeで開発していれば、この問題は発生せずすぐに解決できたはずですが、GAS上で開発していたため沼にハマってしまいました。

もし同様のエラーが発生している人がいたら、ケアレスミスを疑って見てください。

余談

Web系の開発をするときにどうしても課題になるのはエラーの原因特定。

HTMLやCSS、JSの原因特定はどうしてもエディタで解決するケースが多い。

Visual Studioのように統合開発環境を使っても結果は同様。

サーバサイドはデバッグできるのですが、フロントサイドはどうしても目視によるデバッグが多い。

本業の開発者さんたちはどのように品質を担保しながら開発をしているんだろうか・・・