by Kyojin Hwang
쿠키 저장
document.cookie = 'kyojin=1'
document.cookie = 'owen=2'
함수만들어서 쿠키 저장
const setCookie = (name, value, exp, path = '/') => {
let date = new Date()
// getTime : 현재 시간을 밀리초(1/1000초)로 얻는다.
date.setTime(date.getTime() + exp * 24 * 60 * 60 * 1000)
// 객체나 배열이 전달될 경우 JSON.stringify로 변환
const cookieValue = typeof value === 'object' ? JSON.stringify(value) : value
document.cookie = `${name}=${cookieValue}; expires=${date.toUTCString()}; path=${path};`
}
setCookie('kyojin', true, 3)
쿠키 불러오기
const getCookie = (name) => {
const cookie = document.cookie.split('; ').find((item) => item.split('=')[0] === name)
if (!cookie) return null // 해당 쿠키가 없으면 null 반환
const value = cookie.split('=')[1]
// JSON 문자열인 경우 파싱, 그렇지 않으면 원래 값 반환
try {
return JSON.parse(value)
} catch (e) {
return value
}
}
getCookie('kyojin')
쿠키 삭제
const deleteCookie = (name, path = '/') => {
document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${path};`
}
deleteCookie('kyojin')
저장 예시
sessionStorage.setItem('session', JSON.stringify({ token: 123456 }))
localStorage.setItem('local', JSON.stringify({ token: 123123 }))
조회 예시
console.log(JSON.parse(sessionStorage.getItem('session')))
console.log(JSON.parse(localStorage.getItem('local')))
삭제 예시
sessionStorage.removeItem('session')
localStorage.removeItem('local')
속성 | 설명 |
---|---|
length |
브라우저 세션의 히스토리 항목 수를 반환합니다. |
state |
현재 세션의 상태 객체를 반환합니다. (마지막 pushState 또는 replaceState에 의해 설정됨) |
메서드 | 설명 |
---|---|
back() |
이전 페이지로 이동합니다. |
forward() |
다음 페이지로 이동합니다. |
go(delta) |
지정된 페이지로 이동합니다. (양수: 앞으로, 음수: 뒤로) |
pushState(state, title, url) |
브라우저의 히스토리 스택에 새로운 상태를 추가합니다. |
replaceState(state, title, url) |
현재 상태를 새로운 상태로 대체합니다. |