この解答例は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を定義し、getsetを実装します。getはdocument.cookieを返し、setはdocument.cookieに値を設定します。uninstall()では、document.myCookieを削除します。

max-ageのサポートは、setメソッドでmax-ageの値を取得し、setTimeout()を使って期限が切れたらcookieを削除します。