JavaScript cookie

이승훈·2024년 5월 8일

생성

document.cookie = "username=John Doe";
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC";
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/";
document.cookie = "username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 UTC; path=/; SameSite=None; Secure";

기한은 UTC time 포맷으로 설정합니다. 만약 expires 를 설정하지 않으면 이는 세션 쿠키로 자동 설정 되며, 브라우저가 종료시 만료됩니다. 반대로, 설정하면 브라우저가 종료돼도 설정된 기한 까지는 쿠키가 브라우저에 저장됩니다.
path 를 지정하지 않으면 쿠키는 현재 페이지에 설정됩니다. 설정한 위치 이하의 모든 위치에서 쿠키가 적용됩니다.

삭제

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";

기한을 과거 날짜로 설정하면 쿠키가 삭제되는 원리입니다.

조회

function getCookie(name) {
    let cookieArray = document.cookie.split(';'); // 쿠키 문자열을 ';'로 분리하여 배열 생성
    for (let cookie of cookieArray) {
        let [cookieName, cookieValue] = cookie.split('='); // 각 쿠키를 '='로 분리하여 이름과 값을 추출
        if (cookieName.trim() === name) { // 쿠키 이름이 매개변수로 전달된 이름과 일치하는지 확인
            return cookieValue; // 일치하는 쿠키의 값을 반환
        }
    }
    return ""; // 일치하는 쿠키가 없을 경우 빈 문자열 반환
}
let username = getCookie("username");
console.log(username); // 콘솔에 사용자 이름 출력
profile
안녕하세요!

0개의 댓글