【入門編】JavaScriptでエラー起きた場合の対処法と参考資料

エンジニアにとって、最も重要な仕事道具の一つと言っても過言ではないプログラミング言語。中でもJavaScriptは、近年多くのWebサイトやシステムに用いられており、その言語を自在に扱えるかどうかで、エンジニアとしての市場価値が大きく左右されることも少なくありません。そこで今回は、JavaScript入門編として、その概要や強みを詳しく解説していきます。

JavaScriptのエラーの種類

pixta_46558861_M
まずはJavaScriptで起こるエラーの種類について見て行きましょう。仕組みがシンプルなJavaScriptの場合、エラーの原因の多くは「文法エラー」と「論理エラー」の二種類に分けられます。以下に、それぞれ解説していきましょう。

文法エラー

文法エラーとは、簡単に言ってしまうと文字の書き間違いのこと。コードの打ち間違いによって起こるエラーです。例えば「document」と書くべきところを「docment」と書いてしまっただけで、そのコードは無効なものになってしまい、正しく動作しなくなってしまうのです。私たち人間であれば、一文字ぐらい間違っていても、意味を正しく理解することは難しくありませんが、コンピュータではそうはいきません。一言一句間違いなくコードが書けていないと、エラーが起きてしまいます。

論理エラー

論理エラーとは、コードに入れた条件や定義が間違っている場合に起こるエラーのことです。例えば、「A<100の時に、Bを出す」というコードを書いたつもりが、大なり小なりが逆で「A>100の時に、Bを出す」と書いてしまった場合、当然のことながら当初想定していた「A<100の時に、Bを出す」という動作を実行させることができません。

論理エラーで怖いのは、発見が難しいという点です。文法エラーの場合、言葉として成立していないわけですから、コンピュータもエラーが起きていることを認識し、エラー表示をしてくれます。しかし論理エラーの場合、その論理が合っているか間違っているかをコンピュータが判断できず、エラー表示が出ません。つまり、一見すると正しくコードが書けているように見えて、実際に動作させてみると、思い通りに動かない、という事態に陥ってしまうのです。そのため、エラーの発見が遅れたり、エラー箇所を探すのに時間がかかったりしやすくなってしまうのです。

エラーが起きてしまう原因

JavaScriptで起こりやすい「文法エラー」と「論理エラー」ですが、その原因は基本的にはコードの入力ミスによるものです。既に動作しているシステムのコードをコピー&ペーストする場合にはほとんど起こりえないものですが、初めての機能を実装する際などに自分の手で入力しようとすると、どうしてもエラーが起こりやすくなってしまうでしょう。できるだけ自分の手で入力する機会を減らしつつ、複雑な定義などを記載している部分には印をつけておくなど、エラーが起きる可能性を減らしつつ、仮に起きた場合でもすぐに原因を突き止められる状態にしておくことが大切です。

エラーが出た時の対処法

プログラム デバッグ
JavaScriptのエラーが発生した時は、主に以下の2つの手法で原因を検出します。

ブラウザのデベロッパーツールを活用する

ブラウザに搭載されているデベロッパーツール(デバッグツール)を活用する手法です。例えばChromeの場合、「Ctrl + Shift + I」というショートカットキーや、メニューから「その他のツール → デベロッパーツール」を選択することでデベロッパーツールを起動することができます。
デベロッパーツールの「Sources」タブを開き、JavaScriptファイルを選択するとソースコードが表示されるため、任意の行番号をクリックしてブレークポイントを設置します。ブレークポイントは複数設定することができ、設置場所でプログラムが一旦ストップしてくれるため、ブレークポイントの範囲で意図した動きがなされているかをチェックします。一つずつ処理を確認することで、問題のあるコードを見つけ出せるという方法となります。

Consoleオブジェクトを活用する

デベロッパーツールのブレークポイントと同じような効果が得られる方法として、Consoleオブジェクトがあります。

console.log(【変数名】);

と記載することで、中身の値をコンソールログへ出力し、実行結果を確認して処理が正しく行われているかを可視化することができます。

エラーチェックの方法

JavaScriptのエラーチェックの方法にバリデーションというものがあります。バリデーションとは、入力内容や記述内容が要件を満たしているか妥当性を確認するものです。入力フォームの要素を利用してバリデーションを実装する場合、以下のようなコードを記述します。

const error = document.getElementById(‘error’);
const form = document.forms.myform;

form.btn.addEventListener(“click”, function (event) {

//バリデーション処理を記述する

});

form.btn.addEventListener(“click”, function (event) {
if (!form.mail.validity.valid) {

//エラーメッセージを表示する

}
});

form.btn.addEventListener(“click”, function (event) {
if (!form.mail.validity.valid) {
event.preventDefault();

error.innerHTML = “メールアドレスが正しくありません”;
}
});

このフォームを活用すると、入力内容に誤りがあった場合にエラーが表示されます。

まとめ

JavaScriptでエラーが発生しても焦る必要はありません。冷静に原因をつきとめれば、必ず正しい状態に修正することができます。そのためにも、エラーが発生した際にはデベロッパーツールなどを活用して原因を探り、そもそもエラーが発生しづらい開発体制を整えることが大切になります。

コラム著者情報

moveIT運営事務局

moveIT!は機械的なマッチングだけでなく、人との繋がりを重視したIT専門の求人紹介サポートサービスです。
フリーランスの他、正社員・契約社員・派遣・アルバイト・インターン、またはIT業界への就職転職希望者、IT業界での将来独立・起業を目指している方々など、働き方や経験者/未経験者を問わず幅広く総合的に支援するサービスをご提供しております。