브라우저에 데이터를 저장하는 방법으로 localStorage와 sessionStorage가 있다.
문자 숫자를 저장할 수 있으며 최대 5MB 까지 저장 가능
localStorage와 sessionStorage 차이점 정리
참고: https://dev-syhy.tistory.com/39
localStorage.setItem("key이름", 넣을 데이터)
데이터 여러개를 저장하려면 배열 형태로 데이터를 저장하는 것이 좋다.
<script>
var lang = ['Korean', 'English', 'Japanese'];
var lang2 = JSON.stringify(lang);
//lang 배열을 문자형태로 변경, lang2 = ['Korean', 'English', 'Japanese']'
localStorage.setItem('language', lang2);//localStorage에 key:'language'로 저장
</script>
localStorage.getItem('key이름')
으로 저장한 데이터를 불러온다.JSON.parse(localStorage.getItem('key이름'))
를 통해 array/object 형태로 바꿔준다.JSON.parse(localStorage.getItem('key이름')).push(넣을 데이터);
로 데이터를 추가한다.JSON.stringify(JSON.parse(localStorage.getItem('key이름')))
다시 배열 -> 문자로 변경한다.localStorage.setItem('key이름',JSON.stringify(JSON.parse(localStorage.getItem('key이름'))))
위의 lang 예시로 다시 보기
<script>
localStorage.getItem('language');
//'["Korean", "English", "Japanese"]'
JSON.parse(localStorage.getItem('language'));//문자형으로 된 자료를 다시 배열로 바꾸기
//["Korean", "English", "Japanese"]
var newlang = JSON.parse(localStorage.getItem('language'));
//배열로 바시 바꾼 데이터를 변수로 선언하기
newlang.push('Spanish');
//4
//push()함수는 괄호 안의 데이터를 추가하고 추가한 데이터까지 포함한 데이터 갯수를 반환값으로 출력함
console.log(newlang);
//['Korean', 'English', 'Japanese', 'Spanish']
JSON.Stringify(newlang);
//'Spanish'데이터를 추가한 배열을 다시 문자로 바꿈
//'['Korean', 'English', 'Japanese', 'Spanish']'
localStorage.setItem('language', JSON.Stringify(newlang));
//localStorage로 'language'라는 key로 '['Korean', 'English', 'Japanese', 'Spanish']'데이터를 저장
localStorage.getItem('language');
//'['Korean', 'English', 'Japanese', 'Spanish']'
</script>
마우스 오른쪽 클릭 - 검사(DevTools)켜기 - Application - 지우려는 key 또는 value클릭 - 마우스 오른쪽 클릭 - delete