本記事では、JavaScriptのエラーの一つUncaught TypeError: Cannot (read set) property ‘’ of nullが出た際の原因と対処法について解説しています。
JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
メリット
- 誰でも分かるように嚙み砕いて説明してくれる
- アニメーションの知識が深く学べる
- 1つのWebサイトを作りながら学べる
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次
エラーの原因と対処法
Cannot (read set) property ‘x’ of undefined、日本語に訳すと「nullのプロパティを読み取ることができません」という意味になります。このエラーはCannot read property ‘’ of undefinedと非常に良く似ており、nullの値を保持しているプロパティに対して何かしらの処理を実行させるとエラーが出力されます。
const elem = document.getElementById("sample-text1"); // ← null(存在しないid)
elem.textContent = "テスト"; // ← Uncaught TypeError: Cannot set properties of null (setting 'textContent')
上記のサンプルコードでは、取得してきた要素に対してテストの文字列を追加する処理ですが、取得してきた要素がそもそも存在しません。そのため、取得してきた要素の情報を代入している変数elemにはnullが代入され、その値を使ってテキストを追加しようとしている処理でエラーが発生します。
このようなエラーを出力させないようにするには、存在しないDOM要素を取得しないようにする、または下記のような条件分岐を使い取得してきた要素の値がnull以外の時(正しく取得している)にだけ、処理を実行させるようにします。
const elem = document.getElementById("sample-text1");
if (elem) {
elem.textContent = "テスト";
}
【JavaScript】falsyとtruthyについて
本記事では、JavaScriptのfalsyとtruthyについて解説しています。 【falsyとtruthyとは?】 JavaScriptでは、全ての値をfalsyとtruthyに分けることができます。 例えば…
Uncaught TypeErrorの関連記事
Uncaught TypeError: “” is not a functionの原因と対処法
本記事では、JavaScriptのエラーの一つUncaught TypeError: “” is not a functionが出た際の原因と対処法について解説しています。 【エラーの原因と対処法】 “x” is no…
Uncaught TypeError: Cannot read property ‘’ of undefinedの原因と対処法
本記事では、JavaScriptのエラーの一つUncaught TypeError: Cannot read property ‘’ of undefinedが出た際の原因と対処法について解説しています。 【エラーの原因と対…