LocalStorage & SessionStorage ๐Ÿ’พ

WebStorage

๊ธฐ๋ณธ์ ์œผ๋กœ Storage๋Š” Cookie์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋” ์•ˆ์ •์ ์ด๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ €์— ํŠน์ • ์ €์žฅ๊ณต๊ฐ„์ด๋ผ๊ณ  ์ดํ•ดํ•˜๋ฉด ๋œ๋‹ค.

LocalStorage์™€ SessionStorage๋Š” ๋™์ผํ•˜๋‚˜ ์“ฐ์ž„์ƒˆ๋Š” ๊ตฌ๋ถ„ํ•  ์ค„ ์•Œ์•„์•ผํ•œ๋‹ค.

๐Ÿ’ฟ LocalStorage ?

๐Ÿ”ป ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํŠน์„ฑ์ด ์žˆ๋‹ค

  1. ๋งŒ์•ฝ PC์— ์ €์žฅํ•˜๋ฉด PC์— ๋‚จ์•„์žˆ๊ณ . ํƒœ๋ธ”๋ฆฟ์— ์ €์žฅํ•˜๋ฉด ํƒœ๋ธ”๋ฆฟ์— ๋‚จ์•„์žˆ๋Š” ํŠน์ง•์ด ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ฐ ์ ‘์†ํ•˜๋Š” ๊ธฐ๊ณ„์— ๋”ฐ๋ผ ๋ณด์—ฌ์ง€๋Š” ๊ฒƒ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

  2. ๋„๋ฉ”์ธ ๋ณ„๋กœ ๋”ฐ๋กœ ์ €์žฅ๋˜๊ฒŒ ๋œ๋‹ค.

  3. ์‚ญ์ œํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋‚จ์•„์žˆ๋‹ค.

๊ฐ๊ธฐ ๋‹ค๋ฅธ html ํŒŒ์ผ์„ ์—ด์–ด ์‹คํ–‰ํ•˜์—ฌ๋„ ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๊ทธ์ธ ์ •๋ณด๋ผ๋“ ์ง€ ์–ด๋–ค ํŠน์ • ์ง€์›Œ์ง€์ง€์•Š์•„์•ผ ํ•  ๊ฐ’๋“ค์„ ๋ณด์กดํ•  ์ˆ˜ ์žˆ๊ธฐ์— ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค.

โ–ถ๏ธ ์ถ”๊ฐ€

localStorage.setItem('key', 'value')

โ–ถ๏ธ ํ™•์ธ

localStorage.getItem('key')

โ—๏ธ ์ €์žฅํ–ˆ๋˜ ๋ฐ์ดํ„ฐ์˜ value๊ฐ’์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค

โ–ถ๏ธ ์ œ๊ฑฐ

localStorage.removeItem('key');

โ–ถ๏ธ ์ „๋ถ€ ์ œ๊ฑฐ

localStorage.clear();

๐Ÿ“€ SessionStorage ?

LocalStorage๋Š” ์ผ๋ถ€๋กœ ์ง€์›Œ์ฃผ์ง€ ์•Š๋Š” ์ด์ƒ ๊ฒŒ์† ๊ทธ ์ •๋ณด๊ฐ€ ๋‚จ์•„์žˆ๊ฒŒ ๋œ๋‹ค. ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ์ผ์ผ์ด ์ง€์›Œ์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๋ถˆํŽธํ•˜๋‹ค.

์ฆ‰ ๋‹จ๋ฐœ์„ฑ ๋ฐ์ดํ„ฐ๋“ค์€ SessionStorage ์ €์ •ํ•˜์ž!

  1. ํ•ด๋‹น ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์ด ๊บผ์ง€๋ฉด ์ฆ‰ ํŽ˜์ด์ง€ ์„ธ์…˜์ด ๋๋‚  ๋•Œ, ์ด์™€ ํ•จ๊ป˜ ๋ฐ์ดํ„ฐ๋Š” ๋‚ ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค.

โ–ถ๏ธ ์ถ”๊ฐ€

sessionStorage.setItem('key', 'value')

โ–ถ๏ธ ํ™•์ธ

sessionStorage.getItem('key')

โ—๏ธ ์ €์žฅํ–ˆ๋˜ ๋ฐ์ดํ„ฐ์˜ value๊ฐ’์„ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค

โ–ถ๏ธ ์ œ๊ฑฐ

sessionStorage.removeItem('key');

โ–ถ๏ธ ์ „๋ถ€ ์ œ๊ฑฐ

sessionStorage.clear();

โ›”๏ธ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ 

์šฐ์„  ์ด Storage๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ์ž์—ด๋งŒ ์ €์žฅ ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด์œ ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋“ค์˜ ์ €์žฅ๋ฐฉ์‹์€ JSON ํƒ€์ž…์˜ ์ €์žฅ ๋ฐฉ์‹์„ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด localStorage๋‚˜ SessionStorage์˜ ์ €์žฅ value๋“ค์€ ๋ฌด์กฐ๊ฑด String Type์ด์–ด์•ผ ํ•œ๋‹ค.

localStorage.setItem('Cake', '1');
sessionStorage.setItem('Cake', '3');

๋˜ํ•œ ๊ฐ์ฒด๋„ String์„ ๋งŒ๋“ค์–ด์ค˜์•ผ ํ•˜๋Š” ๊ฑด ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.

const arr = [1, 2, 3];
const person = {
  name: "philip",
  age: 30,
};

localStorage.setItem("arr", JSON.stringify(arr));
localStorage.setItem("person", JSON.stringify(person));

์ด๋ ‡๊ฒŒ ์ €์žฅ์„ ํ•ด์ค˜์•ผ์ง€ ๊ฐ์ฒด๊ฐ€ ์ž˜ ์ €์žฅ๋œ๋‹ค.

โš ๏ธ ๋งŒ์— ํ•˜๋‚˜ ๊ฐ์ฒด๋ฅผ ๊ทธ ์ƒํƒœ๋กœ ๋ฐ”๋กœ ์ง‘์–ด๋„ฃ๊ฒŒ ๋˜๋ฉด Storage์—์„œ๋Š” Obj ๋ผ๋Š” ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜๊ฒŒ ๋œ๋‹ค.

์ •๋ฆฌํ•˜์ž๋ฉด โ€ฆ

๊ฐ์ข… ์—๋””ํ„ฐ์—์„œ ๋งŒ๋“  ๊ฐ’๋“ค์„ JSON ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด Web Storage๋‚˜ Database ์ €์žฅํ•˜๊ณ  ์‹ถ๋‹ค ?

๐Ÿ…ฐ๏ธ JSON.stringify()

๋ฐ˜๋Œ€๋กœ Web Stroage ํ˜น์€ Database์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’์„ ๋‚ด๊ฐ€ ์—๋””ํ„ฐ์—์„œ ๋ถˆ๋Ÿฌ์™€ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ ์‹œํ‚ค๊ณ  ์‹ถ๋‹ค?

๐Ÿ…ฑ๏ธ JSON.parse()

์™œ๋ƒํ•˜๋ฉด Web Storage๋‚˜ Database๋Š” ๋ชจ๋‘ JSON ํ˜•ํƒœ์˜ ์ €์žฅ๋ฐฉ์‹์„ ๊ณ ์ˆ˜ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.