JavaScriptですべてのCookieを削除する

公開:2020/11/29
更新:2020/11/29
1 min読了の目安(約500字TECH技術記事

すべてのcookieのmax-age0にセットすることで全削除できる。TypeScriptも同じ書き方でおk。

function deleteAllCookies() {
  const cookies = document.cookie.split(';')
  for (let i = 0; i < cookies.length; i++) {
    const cookie = cookies[i]
    const eqPos = cookie.indexOf('=')
    const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie
    document.cookie = name + '=;max-age=0'
  }
}

当然だがHttpOnlyなCookieにはクライアントのJavaScriptからアクセスができないので削除もできない。HttpOnlyなCookieを削除したいならサーバー側でmax-age=0にセットしたcookieをクライアントに返すことになる。