LocalStorage & SessionStorage ๐พ
๊ธฐ๋ณธ์ ์ผ๋ก Storage๋ Cookie์ ์ ์ฌํ์ง๋ง ๋ ์์ ์ ์ด๊ณ ์น ๋ธ๋ผ์ฐ์ ์ ํน์ ์ ์ฅ๊ณต๊ฐ์ด๋ผ๊ณ ์ดํดํ๋ฉด ๋๋ค.
LocalStorage์ SessionStorage๋ ๋์ผํ๋ ์ฐ์์๋ ๊ตฌ๋ถํ ์ค ์์์ผํ๋ค.
๐ฟ LocalStorage ?
๐ป ๋ก์ปฌ์คํ ๋ฆฌ์ง๋ ์๋์ ๊ฐ์ ํน์ฑ์ด ์๋ค
-
๋ง์ฝ PC์ ์ ์ฅํ๋ฉด PC์ ๋จ์์๊ณ . ํ๋ธ๋ฆฟ์ ์ ์ฅํ๋ฉด ํ๋ธ๋ฆฟ์ ๋จ์์๋ ํน์ง์ด ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๊ฐ ์ ์ํ๋ ๊ธฐ๊ณ์ ๋ฐ๋ผ ๋ณด์ฌ์ง๋ ๊ฒ์ด ๋ค๋ฅผ ์ ์๋ค.
-
๋๋ฉ์ธ ๋ณ๋ก ๋ฐ๋ก ์ ์ฅ๋๊ฒ ๋๋ค.
-
์ญ์ ํ๊ธฐ ์ ๊น์ง๋ ๋จ์์๋ค.
๊ฐ๊ธฐ ๋ค๋ฅธ html ํ์ผ์ ์ด์ด ์คํํ์ฌ๋ ๋ก์ปฌ์คํ ๋ฆฌ์ง๋ฅผ ๊ณต์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ์ธ ์ ๋ณด๋ผ๋ ์ง ์ด๋ค ํน์ ์ง์์ง์ง์์์ผ ํ ๊ฐ๋ค์ ๋ณด์กดํ ์ ์๊ธฐ์ ๋งค์ฐ ์ ์ฉํ๋ค.
โถ๏ธ ์ถ๊ฐ
localStorage.setItem('key', 'value')
โถ๏ธ ํ์ธ
localStorage.getItem('key')
โ๏ธ ์ ์ฅํ๋ ๋ฐ์ดํฐ์ value๊ฐ์ ์กฐํํ ์ ์๊ฒ ๋๋ค
โถ๏ธ ์ ๊ฑฐ
localStorage.removeItem('key');
โถ๏ธ ์ ๋ถ ์ ๊ฑฐ
localStorage.clear();
๐ SessionStorage ?
LocalStorage๋ ์ผ๋ถ๋ก ์ง์์ฃผ์ง ์๋ ์ด์ ๊ฒ์ ๊ทธ ์ ๋ณด๊ฐ ๋จ์์๊ฒ ๋๋ค. ์ฌ์ฉ์ ์ ์ฅ์์๋ ์ผ์ผ์ด ์ง์์ผํ๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ๋ถํธํ๋ค.
์ฆ ๋จ๋ฐ์ฑ ๋ฐ์ดํฐ๋ค์ SessionStorage ์ ์ ํ์!
- ํด๋น ๋ธ๋ผ์ฐ์ ์ฐฝ์ด ๊บผ์ง๋ฉด ์ฆ ํ์ด์ง ์ธ์ ์ด ๋๋ ๋, ์ด์ ํจ๊ป ๋ฐ์ดํฐ๋ ๋ ๋ผ๊ฐ๊ฒ ๋๋ค.
โถ๏ธ ์ถ๊ฐ
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 ํํ์ ์ ์ฅ๋ฐฉ์์ ๊ณ ์ํ๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.