この解答例は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を返すようにしています。