Home localStorage
Post
Cancel

localStorage

내일배움캠프 LGLG!

4주차(프로그래밍 기초)

localStorage

  • 브라우저의 key-value 값을 Storage에 저장할 수 있음
  • 세션이 바뀌어도 저장한 데이터가 유지됨
  • Storage 타입은 웹 브라우저에서 데이터를 저장하고 관리하는 메소드를 제공
  • localStorage 객체는 Storage 타입으로 비휘발적으로 데이터를 저장할 수 있게 함
  • localStorage는 문자열만 저장할 수 있음
  • 객체를 저장하려면 JSON.stringify() 메소드로 문자열로 변환한 다음 저장해야 함. 반대로 저장된 문자열 값을 가져와서 다시 객체로 변환하려면 JSON.parse() 메소드를 사용

Storage 타입

  • setItem() : key, value 추가
  • getItem() : value 읽어오기
  • removeItem() : item 삭제
  • claer() : 도메인 내의 localStorage 값 삭제
  • length : 전체 item 갯수
  • key() : index로 key값 찾기

localStorage 접근

  • window 객체의 속성을 통해 localStorage에 접근할 수 있음
1
window.localStorage;
  • localStorage가 Storage 타입의 객체이기 때문에 storage의 메소드를 호출하여 데이터를 관리할 수 있음

localStorage에 아이템 추가, 읽기

setItem() localstorage에 아이템을 추가(저장)하기 위해서는 setItem() 함수를 사용

1
window.localStorage.setItem(key, value);

getItem() localStorage의 아이템을 읽기 위해서는 getItem() 함수를 사용

1
window.localStorage.getItem(key);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// setItem()
window.localStorage.setItem("name", "munji");
window.localStorage.setItem("age", "1");
/* localStorage에 key-value를 저장
localStorage에는 문자열만 저장 가능
숫자를 저장하더라도 문자열만 저장됨 */

// getItem()
const name = window.localStorage.getItem("name");
const age = window.localStorage.getItem("age");
/* getItem() 함수에 key를 전달하여 localStorage에 저장된 값을 읽어왔다.
 */

// 출력
console.log(name); // munji
console.log(age); // 1

localStorage에 객체, 배열 저장하기

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
32
33
// localStorage에 저장할 객체
const obj = {
  name : 'munji',
  age : 1
}

// localStorage에 저장할 배열
const arr = [1, 2, 3];

// 객체, 배열을 JSON 문자열로 변환
const objString = JSON.stringify(obj);
const arrString - JSON.stringify(arr);
/* localStorage에는 문자열만 저장되기에 객체, 배열을 저장하기 위해 문자열로 변환해서 저장 필요!!
JSON.stringify() 함수를 사용하여 객체와 배열을 JSON 문자열로 변환함 */

// setItem
window.localStorage.setItem('person', objString);
window.localStorage.setItem('num', arrString);
/* JSON 문자열을 localstorage에 저장 */

// getItem
const personString = window.localStorage.getItem('person');
const numString = window.localStorage.getItem('num');

// JSON 문자열을 객체, 배열로 변환
const personObj = JSON.parse(personString);
const numArr = JSON.parse(numString);

// 출력
console.log(personString) // {'name':'munji', 'age':1}
console.log(personObj); // [object Object]
console.log(numsString); // [1,2,3]
console.log(numsArr); // 1,2,3

localStorage에 값 삭제하기

removeItem()

1
window.localStorage.removeItem(key);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// setItem
window.localStorage.setItem("name", "munji");
window.localStorage.setItem("age", "1");

// removeItem
window.localStorage.removeItem("name");
// removeItem() 함수를 사용하여 key가 'name'인 아이템 삭제
window.localStorage.removeItem("Gender");
/* 'Gender'라는 key는 localStorage에 존재하지 않음
removeItem에 존재하지 않는 key를 파라미터로 전달할 경우 아무 일도 일어나지 않음!! */

// getItem
const name = window.localStorage.getItem("name");
const age = window.localStorage.getItem("age");

// 출력
console.log(name); // null
console.log(age); // 20

localStorage에 값 전체 삭제하기

clear()

1
window.localStorage.clear();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// setItem
window.localStorage.setItem("name", "munji");
window.localStorage.setItem("age", "1");

// clear
window.localStorage.clear();
// localStorage 도메인의 모든 아이템을 삭제

// getItem
const name = window.localStorage.getItem("name");
const age = window.localStorage.getItem("age");

// 출력
console.log(name); // null
console.log(age); // null

localStorage의 아이템 갯수 구하기

length

1
window.localStorage.longth;
1
2
3
4
5
6
7
8
9
10
11
12
13
// 초기화
window.localStorage.clear();

// setItem
window.localStorage.setItem("name", "munji");
window.localStorage.setItem("age", 1);

// localStorage item 갯수
const length = window.localStorage.length;
// localStorage에 저장된 값의 갯수를 확인하기 위해 length 속성 사용

// 출력
console.log(length); // 2

localStorage의 key 이름 찾기

key()

1
window.localStorage.key(index);
1
2
3
4
5
6
7
8
9
10
11
12
// setItem
window.localStorage.setItem("name", "munji");
window.localStorage.setItem("age", "1");

// key
const key_1 = window.localStorage.key(0);
const key_2 = window.localStorage.key(1);
// key() 함수의 파라미터로 index를 전달하여 해당 index의 key 값을 조회

// 출력
console.log(key_1); // age
console.log(key_2); // name

전체 key, value 가져오기

for문

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// 초기화
window.localStorage.clear();

// setItem
window.localStorage.setItem("name", "munji");
window.localStorage.setItem("age", 1);

// 모든 key, value 출력
// output => age : 1 / name : munji
for (i = 0; i < window.localStorage.length; i++) {
  // length 속성을 사용하여 전체 아이템의 길이를 구하여 for문 실행

  // key 찾기
  const key = window.localStorage.key(i);
  // for문의 index 값과 key() 함수를 사용하여 key 이름을 읽어옴

  // value 찾기
  const value = window.localStorage.getItem(key);
  // 앞에 찾아온 key값과 getItem() 함수를 이용하여 해당 key의 value를 읽어옴

  // 출력
  console.log(key + ":" + value + "<br />");
}

for…in

  • for…in 문에서는 사용자가 정의한 key 이외에 localStorage의 built-in 항목까지 조회되기에 built-in 항목을 제거해줘야 함
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 초기화
window.localStorage.clear();

// setItem
window.localStorage.setItem("name", "munji");
widnow.localStorage.setItem("age", 1);

// output => age : 1 / name : munji
for (const key in widnow.localStorage) {
  if (window.localStorage.hasOwnProperty(key)) {
    // for...in 문에서 조회되는 built-in 항목을 제거하기 위해 hasOwnProperty() 함수 사용

    // value 찾기
    const value = window.localStorage.getItem(key);

    // 출력
    console.log(key + ":" + value + "<br />");
  }
}

Object.keys()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 초기화
window.localStorage.clear();

// setItem
window.localStorage.setItem("name", "munji");
widnow.localStorage.setItem("age", 1);

// key 목록 조회 / 출력
const keys = Object.keys(window.localStorage);
// localStorage의 key 목록을 조회하기 위해 Object.keys() 함수 사용
console.log(keys);
console.log("<br/>");

// 모든 key, value 출력
// output => age,name / age : 20 / name : munji
for (const key of keys) {
  // value 찾기
  const value = window.localStorage.getItem(key);

  // 출력
  console.log(key + ":" + value + "<br />");
}
This post is licensed under CC BY 4.0 by the author.

두 수의 곱

두 수의 나눗셈