
๐กlocalStorage
์น ๋ธ๋ผ์ฐ์ ์์ ๋ฐ์ดํฐ๋ฅผ ํด๋ผ์ด์ธํธ ์ธก์ ์ ์ฅํ๊ณ ์ ์งํ ์ ์๋ ์น ์คํ ๋ฆฌ์ง(web storage) ๋ฐฉ์ ์ค ํ๋
์ฝ๊ฒ ๋งํด localStorage๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๊ฐ ์๋ก ๊ณต์ ๋๋ฉฐ, ํญ์ด๋ ์ฐฝ์ ๋ซ์๋ ๋ฐ์ดํฐ๋ ๋ธ๋ผ์ฐ์ ์ ๊ทธ๋๋ก ๋จ์์์ ์ ์๋ค.
1. ํค-๊ฐ ์ ์ฅ
localStorage๋ ํค(key)์ ๊ฐ(value)์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
๊ฐ๊ฐ์ ๋ฐ์ดํฐ๋ ๊ณ ์ ํ ํค๋ฅผ ๊ฐ์ง๋ฉฐ, ์ด ํค๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์๋ณํ๋ค.
2. ์๊ตฌ๋ณด๊ด
localStoorage์ ์ ์ฅํ ๋ฐ์ดํฐ๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ๊ณ์ ์ ์ง๋๋ค.
๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์์ํ๊ฑฐ๋ ์ปดํจํฐ๋ฅผ ๊ป๋ค ์ผ๋ ์ ์ฅํ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋์ง ์๋๋ค.
3.๋๋ฉ์ธ ์ ํ
localStorage์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ ๋์ผํ ๋๋ฉ์ธ ๋ด์์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค.
ex) ๊ฐ์ ์ปดํจํฐ ์์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ (ํฌ๋กฌ/์ฌํ๋ฆฌ)
๊ฐ์ ๋ธ๋ผ์ฐ์ , ๋ค๋ฅธ ์ปดํจํฐ(ํ์ฌ์ปด ํฌ๋กฌ/์ง์ปด ํฌ๋กฌ)
์ด ๋ ๊ฒฝ์ฐ ๋ชจ๋ ์๋ก ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ด๋ฏ๋ก ๋ฐ์ดํฐ๊ฐ ์๋ก ๊ณต์ ๋์ง ์๋๋ค.
4. ๋ฌธ์์ด ์ ์ฅ
localStorage์ ์ ์ฅํ๋ ๋ฐ์ดํฐ๋ ๋ฌธ์์ด ํํ๋ก ์ ์ฅ๋๋ค.
๋ฐ๋ผ์ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ JSON.stringify()๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ด๋ก ๋ณํํด์ผ ํ๋ค.
5.๋ณด์์ฃผ์
localStorage๋ ํด๋ผ์ด์ธํธ ์ธก์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฉ์ปค๋์ฆ์ด๋ฏ๋ก ๋ฏผ๊ฐํ ์ ๋ณด๋ ๋ณด์์ ์ทจ์ฝํ ์ ๋ณด๋ ์ ์ฅํ์ง ์๋ ๊ฒ์ด ์ข๋ค.
// ๋ฐ์ดํฐ ์ ์ฅ
localStorage.setItem('username', 'kim');
// ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
const username = localStorage.getItem('username');
console.log(username); // 'kim'์ด ์ถ๋ ฅ๋จ
// ๋ฐ์ดํฐ ์ญ์
localStorage.removeItem('username');
// ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์
localStorage.clear();
| setItem | localStorage์ ํค-๊ฐ์ ์ ์ฅํ๋ค. |
|---|---|
| key | ์ ์ฅํ ๋ฐ์ดํฐ์ ์๋ณ์๋ก ์ฌ์ฉ๋๋ ๋ฌธ์์ด ์ด ํค๋ฅผ ์ฌ์ฉํด ๋์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค. |
| value | ์ ์ฅํ ๋ฐ์ดํฐ ๊ฐ. ๋ฌธ์์ด ํํ๋ก๋ง ์ ์ฅ๋๋ค. object๋ ๋ฐฐ์ด์ string์ผ๋ก ๋ฐ๊พธ๋ ค๋ฉด JSON.stringify()๋ฅผ ์ฌ์ฉํด ๋ฌธ์์ด๋ก ๋ณํํด์ผ ํ๋ค. |
value๋ stringํ์ ์ด๋ผ .join(',') | .split(',')์์ ์ด ํ์ํ๋ค.
| getItem | ํน์ ํค์ ๊ฐ์ ๊ฐ์ ธ์จ๋ค. |
|---|---|
| key | ๊ฐ์ ธ์ฌ ๋ฐ์ดํฐ์ ์๋ณ์๋ก ์ฌ์ฉํ ๋ฌธ์์ด. |
setItem์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ,
getItem์ ํตํด ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ฌ ์ ์๋ค.
๐ก localStorage๋ ๊ฐ๋จํ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์ ์ ์งํ๊ณ ์ ํ ๋ ์ ์ฉํ ๋๊ตฌ์ด๋, ๋ณต์กํ ์ํ๊ด๋ฆฌ๋ ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธธ ์ํ๋ค๋ฉด ๋ค๋ฅธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ํ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ์ ํฉํ๋ค.