sessionStorage.setItem( '속성명/key' , '값/value' );
sessionStorage.getItem( '속성명/key' );
속성이 존재하지 않으면 null, 존재하면 value를 반환
sessionStorage.removeItem( '속성명/key' );
속성만 삭제
localStorage.clear();
전체삭제
자바스크립트 객체 문법의 형식
Storage, HTTP은 객체지향이 아님
문자열과 바이트만 전송 가능함.
따라서, [객체 > 문자열] >> [문자열 > 객체] 로의 타입변환이 필요
(1) JSON.stringify (자료); : 해당 자료를 문자열 타입으로 반환
(2) JSON.parse(자료); : 해당 자료를 JS 타입으로 반환
localStorage에 <input> 으로 입력받은 사용자의 아이디를 저장하고,
페이지를 새로고침해도 그 값이 유지되는 것을 확인하시오.
<input id="userInput" type="text" placeholder="ID를 입력하세요."/>
<button onclick="func1()"> 예제1 버튼</button>
function func1(){
console.log('func1 exe');
let userInput = document.querySelector('#userInput');
let user = userInput.value
console.log(user);
localStorage.setItem('user', user);
console.log(localStorage)
};
아래 사용자의 환경 설정(객체)을 문자열로 변환하여 localStorage에 저장 하시오.
const userSettings = { theme: 'dark', notifications: true, language: 'ko' };
console.log(JSON.stringify(userSettings));
const data = JSON.stringify(userSettings);
localStorage.setItem("data", data)
console.log(localStorage)
localStorage에 문자열로 저장된 사용자 설정(userSettings) 을 다시 객체로 변환하여 사용 하시오.
let getData = JSON.parse(localStorage.getItem('data'));
console.log(getData);
스토리지에 저장된 특정 데이터(userSettings) 또는 전체 데이터를 삭제 하시오.
localStorage.removeItem("data");
// localStorage.clear();
console.log(localStorage)
페이지가 로드될 때마다 sessionStorage를 사용하여 방문 횟수를 1씩 증가시키시오.
현재 방문 횟수를 id="visitCount"인 span 태그에 "이번 세션에서 O번째 방문입니다." 형식으로 출력하시오.
(페이지를 새로고침하면 숫자가 올라가고, 브라우저 탭을 닫았다 다시 열면 1로 초기화되어야 합니다.)
<span id="visitCount"></span>
// 1. 기존 웹 스토리지 불러오기
let visit = sessionStorage.getItem('visit');
console.log(visit);
// 2. 새로운 웹스토리지에 값 저장
if ( visit == null ) { // 2. 속성명 X = 최초방문 = 속성명을 만들기
sessionStorage.setItem('visit', 1);
} else{ // 3. 이미 존재한다면
visit = Number(visit) + 1 ;
sessionStorage.setItem('visit', visit);
}
document.querySelector("#visitCount").innerHTML = `이번 세션에서 ${visit}번째 방문입니다. `