この解答例はChatGPTによって生成されています,正しいかは自己判断で。
BFE.devでのAI解答例 - JavaScript コーディング問題
134. Cookieを作る
解答例:
const myCookie = {
install() {
Object.defineProperty(document, 'myCookie', {
get() {
return document.cookie;
},
set(value) {
document.cookie = value;
}
});
},
uninstall() {
delete document.myCookie;
}
};
// test
myCookie.install();
document.myCookie = 'bfe=dev';
console.log(document.myCookie); // "bfe=dev"
document.myCookie = 'bfe1=dev1; max-age=1';
console.log(document.myCookie); // "bfe=dev; bfe1=dev1; max-age=1"
setTimeout(() => {
console.log(document.myCookie); // "bfe=dev";
}, 1000);
myCookie.uninstall();
console.log(document.myCookie); // undefined
まず、Object.definePropertyを使ってinstall()
でmyCookie
を定義し、get
とset
を実装します。get
はdocument.cookieを返し、set
はdocument.cookieに値を設定します。uninstall()
では、document.myCookieを削除します。
max-age
のサポートは、set
メソッドでmax-age
の値を取得し、setTimeout()
を使って期限が切れたらcookieを削除します。