JavaScriptでセッションストレージ取得!getItem()メソッド解説
投稿日 2025年02月07日 更新日 2025年02月07日
JavaScriptでセッションストレージからデータを取得する際に発生する「Uncaught TypeError: Cannot read properties of null (reading 'getItem')」というエラーについて、原因と解決方法を詳しく解説します。
エラーの概要
このエラーは主に以下のような場合に発生します:
// エラーが発生するコード例
const data = sessionStorage.getItem('user');
エラーメッセージ:
Uncaught TypeError: Cannot read properties of null (reading 'getItem')
主な原因
1. ブラウザがセッションストレージをサポートしていない
2. プライベートブラウジングモードでの実行
3. セッションストレージへのアクセスが制限されている
解決方法
1. 存在確認を行う
最も確実な解決方法は、セッションストレージの存在確認を行ってからgetItem()を実行することです。
// 推奨される実装方法
if (typeof sessionStorage !== 'undefined') {
const data = sessionStorage.getItem('user');
console.log(data);
} else {
console.log('セッションストレージが利用できません');
}
2. try-catch文を使用する
エラーをハンドリングする方法としては、try-catch文の使用も効果的です。
try {
const data = sessionStorage.getItem('user');
console.log(data);
} catch (error) {
console.log('セッションストレージへのアクセスに失敗しました');
}
3. 安全なヘルパー関数の作成
より堅牢な実装として、ヘルパー関数を作成する方法があります。
function getSessionStorageItem(key) {
try {
return sessionStorage.getItem(key);
} catch (error) {
return null;
}
}
// 使用例
const userData = getSessionStorageItem('user');
実践的な使用例
セッションストレージを安全に使用する完全な実装例を示します。
class StorageManager {
static getItem(key) {
if (typeof sessionStorage === 'undefined') {
return null;
}
try {
return sessionStorage.getItem(key);
} catch (error) {
console.error('ストレージアクセスエラー:', error);
return null;
}
}
}
// 使用例
const userInfo = StorageManager.getItem('userInfo');
if (userInfo) {
console.log('ユーザー情報:', userInfo);
} else {
console.log('ユーザー情報が見つかりません');
}
エラー防止のベストプラクティス
1. 常にセッションストレージの存在確認を行う
2. エラーハンドリングを適切に実装する
3. フォールバック機能を用意する
4. 型チェックを行う
まとめ
セッションストレージのgetItem()メソッドを使用する際は、以下の点に注意が必要です:
- 必ず存在確認を行う
- エラーハンドリングを実装する
- 適切なフォールバック処理を用意する
これらの対策を実装することで、安全かつ堅牢なセッションストレージの利用が可能になります。
セッションストレージは一時的なデータ保存に便利な機能ですが、適切なエラーハンドリングなしでは予期せぬエラーの原因となる可能性があります。本記事で紹介した方法を参考に、安全な実装を心がけましょう。
関連記事

新着記事
5
6
7
関連記事
5
6
7


60秒で完了