ホーム › エラー解決 › JavaScript › Cannot read properties of null
JavaScript ERROR

JavaScript Cannot read properties of null の原因と解決法

nullが入った変数のプロパティを読もうとすると発生します。getElementByIdで要素が取れていない(=null)ケースが最も多い原因です。

このエラーメッセージ

Uncaught TypeError: Cannot read properties of null (reading 'textContent')

原因

❌ エラーになるコード

NG
document.body.innerHTML = '<h1 id="title">Hello</h1>';
const el = document.getElementById("titel"); // idのタイポ
console.log(el.textContent);

✅ 修正したコード

OK
document.body.innerHTML = '<h1 id="title">Hello</h1>';
const el = document.getElementById("title");
if (el) {
  console.log(el.textContent);
} else {
  console.log("要素が見つかりません");
}
▶ 修正済みコードを実行エディタで開く
progoのJavaScript実行環境(インストール不要・登録不要)でその場で動作を確認できます。

解決のポイント

getElementByIdは要素が見つからないとnullを返すため、idのつづりをまず確認します。HTMLより前に実行される場合はDOMContentLoadedイベントの中で実行するか、scriptタグをbodyの最後に置きます。el?.textContent(オプショナルチェーン)を使えばnullでもエラーにならず undefined になります。

よくある質問

undefinedのエラーとの違いは?
Cannot read properties of undefined は変数や戻り値がundefinedの場合です。原因の探し方は同じで、直前でconsole.log(変数)して中身を確認します。
オプショナルチェーン(?.)はいつ使う?
要素が存在しない可能性が正常な仕様である場合に使います。本来あるべき要素が取れていないなら、?.で隠さずidやタイミングを直すべきです。