Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- mixedcontent
- CKEditor4
- vuejs
- PersistentVolume
- javascript #localstorage #stringify #parse
- MPA
- sesstionstorage
- MongoDB
- react
- vue #vue-router
- javascript #컴파일 #인터프리터
- localstorage
- basepath
- 라우터 #NAT #포트 #포트포워딩 #유동고정아이피 #DHCP
- vuetify3
- vuejs #pinia #vuetify3
- browserstorage
- 맥 #나스 #SMA
- kubernetes
- v-combobox
- JavaScript
- github action #tistory
- vworld
- nextjs
- vue3
- 인터넷 #클라이언트 #서버 #포트 #ipadress #domainname
- Yarn
- PersistentVolumeClaim
- OpenLayers
- postman
Archives
- Today
- Total
月亮
[JavaScript] localstorage 사용법과 stringify/parse 함수 🤔 본문
1. localstorage란?
웹 브라우저에서 제공하는 클라이언트 사이드 저장소
웹 애프리케이션에서 데이터를 브라우저에 저장하고 다른 페이지에서도 접근 가능하게 할 수 있다.
localstorage는 `key - value` 형태로 데이터를 저장하며, 저장된 데이터는 브라우저가 닫혀도 유지된다.
이러한 특징 때문에 웹 애플리케이션에서 사용자 정보, 설정 값, 쇼핑카드 등을 저장하기에 적합하다.
localstorages는 javascript의 API로 다음과 같이 사용 할 수 있다.
localStorage는 일반적으로 5-10MB의 용량을 제공하며, 서버와의 통신이 필요하지 않으므로 더 빠르고 경제적이다. 하지만 브라우저에서 데이터를 직업 다루기 때문에 보안에 취약할 수 있으므로, 민감한 정보를 저장하는 경우에는 암호화나 보안 기능을 추가해야 한다.
2. localStorage 추가 , 읽기
- localStorage.setItem(key,value) - key, value 쌍 추가
- localStorage.getItem(key) - key에 해단하는 value 읽어 오기
// setItem
window.localStorage.setItem('name', 'anna');
window.localStorage.setItem('age', '20');
// getItem
const name = window.localStorage.getItem('name');
const age = window.localStorage.getItem('age');
// 결과 출력
document.write(name); // anna
document.write('<br/>');
document.write(age); // 20
3. localStorage 값 삭제 하기
- localStorage.removeItem(key) - key에 해당하는 key-value 쌍을 삭제한다.
// removeItem
window.localStorage.removeItem('name');
window.localStorage.removeItem('age');
// getItem
const name = window.localStorage.getItem('name');
const age = window.localStorage.getItem('age');
// 결과 출력
document.write(name); // null
document.write('<br/>');
document.write(age); // 20
4. localStorage에 값 전체 삭제하기
- localStorage.clear() - 도메인의 모든 아이템을 삭제한다.
// clear
window.localStorage.clear();
// getItem
const name = window.localStorage.getItem('name');
const age = window.localStorage.getItem('age');
// 결과 출력
document.write(name); // null
document.write('<br/>');
document.write(age); // null
5. localStorage의 아이템 갯수 구하기/key 이름 찾기
- localStorage.length
- localStorage.key(index)
// setItem
window.localStorage.setItem('name', 'anna');
window.localStorage.setItem('age', 20);
// localStorage item 갯수
const length = window.localStorage.length
// 결과 출력
document.write(length); // 2
// key
const key_1 = window.localStorage.key(0);
const key_2 = window.localStorage.key(1);
// 결과 출력
document.write(key_1); // age
document.write('<br/>');
document.write(key_2); // name
6. localStorage에 객체, 배열 저장하는 경우
localStorage에서는 문자열 외에더 객체, 배열, 불리언 등의 자료형도 저장할 수 있지만 localStorage는 브라우저에서 제공하는 클라이언트 사이드 저장소이기 때문에, 데이터를 저장할 때는 반드시 문자열로 변환해야한다.
이를 위해 JSON.stringify() 함수를 사용하여 객체나 배열등을 문자열로 변환 후 localStorage에 저장 할 수 있다.
불러올 때는 JSON.parse() 함수를 사용해서 다시 객체나 배열로 변환할 수 있다.
// localStorage에 저장할 객체
const obj = {
name : 'anna',
age : 20
}
// localStorage에 저장할 배열
const arr = [1, 2, 3];
// 객체, 배열을 JSON 문자열로 변환
const objString = JSON.stringify(obj);
const arrString = JSON.stringify(arr);
// setItem
window.localStorage.setItem('person', objString);
window.localStorage.setItem('nums', arrString);
// getItem
const personString = window.localStorage.getItem('person');
const numsString = window.localStorage.getItem('nums');
// JSON 문자열을 객체, 배열로 변환
const personObj = JSON.parse(personString);
const numsArr = JSON.parse(numsString);
// 결과 출력
document.write(personString); // {"name":"anna","age":20}
document.write('<br/>');
document.write(personObj); // [object Object]
document.write('<br/>');
document.write(numsString); // [1,2,3]
document.write('<br/>');
document.write(numsArr); // 1,2,3
document.write('<br/>');
+ 전체 key , value 가져오기
for문, for...in 가능 ( 단, for...in 문은 built in-property-length,clear,key,setitem-까지 가져오기 때문에 hasOwnProperty함수를 써야한다)
반응형
'javascript' 카테고리의 다른 글
[javascript] html을 word 파일로 만들기 (0) | 2024.04.17 |
---|---|
[javascript] setTimeout , setInterval (0) | 2023.06.20 |
[JavaScript] 파일명에서 확장자 추출하기 🤔 (0) | 2023.05.08 |
[JavaScript] 객체(Object)와 배열(Array) (0) | 2023.04.21 |
[JavaScript] JSON (JavaScript Object Notation-자바스크립트 객체 표기법) 🤔 (0) | 2023.04.20 |
Comments