この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript コーディング問題
135. localStorageに期限をつける
const myLocalStorage = { setItem: function(key, value, ttl) { const item = { value: value, expiry: new Date().getTime() + ttl }; localStorage.setItem(key, JSON.stringify(item)); }, getItem: function(key) { const itemStr = localStorage.getItem(key); if (!itemStr) { return null; } try { const item = JSON.parse(itemStr); if (new Date().getTime() > item.expiry) { localStorage.removeItem(key); return null; } return item.value; } catch (error) { return null; } }};
期限をつけるために、setItemの引数としてttl(time to live)を追加し、それを元に期限切れを判定しています。getItemの場合、期限切れの場合はnullを返します。例外が発生した場合もnullを返すようにしています。