[Javascript] localStorage

๋ฉ”ํƒ€๋ชฝยท2023๋…„ 9์›” 1์ผ
post-thumbnail

๐Ÿ’กlocalStorage

์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ ์ธก์— ์ €์žฅํ•˜๊ณ  ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์Šคํ† ๋ฆฌ์ง€(web storage) ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜

์‰ฝ๊ฒŒ ๋งํ•ด localStorage๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ์ดํ„ฐ๊ฐ€ ์„œ๋กœ ๊ณต์œ ๋˜๋ฉฐ, ํƒญ์ด๋‚˜ ์ฐฝ์„ ๋‹ซ์•„๋„ ๋ฐ์ดํ„ฐ๋Š” ๋ธŒ๋ผ์šฐ์ €์— ๊ทธ๋Œ€๋กœ ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.



localStorage์˜ ํŠน์ง•๊ณผ ๋™์ž‘ ๋ฐฉ์‹

1. ํ‚ค-๊ฐ’ ์ €์žฅ
localStorage๋Š” ํ‚ค(key)์™€ ๊ฐ’(value)์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค.
๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋Š” ๊ณ ์œ ํ•œ ํ‚ค๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ด ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์‹๋ณ„ํ•œ๋‹ค.
2. ์˜๊ตฌ๋ณด๊ด€
localStoorage์— ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋Š” ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ข…๋ฃŒํ•ด๋„ ๊ณ„์† ์œ ์ง€๋œ๋‹ค.
๋ธŒ๋ผ์šฐ์ €๋ฅผ ์žฌ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜ ์ปดํ“จํ„ฐ๋ฅผ ๊ป๋‹ค ์ผœ๋„ ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š๋Š”๋‹ค.
3.๋„๋ฉ”์ธ ์ œํ•œ
localStorage์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ๋™์ผํ•œ ๋„๋ฉ”์ธ ๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
ex) ๊ฐ™์€ ์ปดํ“จํ„ฐ ์•ˆ์˜ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €(ํฌ๋กฌ/์‚ฌํŒŒ๋ฆฌ)
๊ฐ™์€ ๋ธŒ๋ผ์šฐ์ €, ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ(ํšŒ์‚ฌ์ปด ํฌ๋กฌ/์ง‘์ปด ํฌ๋กฌ)
์ด ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์„œ๋กœ ๋‹ค๋ฅธ ๋ธŒ๋ผ์šฐ์ €์ด๋ฏ€๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์„œ๋กœ ๊ณต์œ ๋˜์ง€ ์•Š๋Š”๋‹ค.
4. ๋ฌธ์ž์—ด ์ €์žฅ
localStorage์— ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ €์žฅ๋œ๋‹ค.
๋”ฐ๋ผ์„œ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋Š” JSON.stringify()๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.
5.๋ณด์•ˆ์ฃผ์˜
localStorage๋Š” ํด๋ผ์ด์–ธํŠธ ์ธก์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋ฏ€๋กœ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋‚˜ ๋ณด์•ˆ์— ์ทจ์•ฝํ•œ ์ •๋ณด๋Š” ์ €์žฅํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹๋‹ค.


localStorage์‚ฌ์šฉ ์˜ˆ์‹œ

// ๋ฐ์ดํ„ฐ ์ €์žฅ
localStorage.setItem('username', 'kim');

// ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
const username = localStorage.getItem('username');
console.log(username); // 'kim'์ด ์ถœ๋ ฅ๋จ

// ๋ฐ์ดํ„ฐ ์‚ญ์ œ
localStorage.removeItem('username');

// ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์‚ญ์ œ
localStorage.clear();

setItem , getItem

localStorage.setItem(key, value)

setItemlocalStorage์— ํ‚ค-๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.
key์ €์žฅํ•  ๋ฐ์ดํ„ฐ์˜ ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž์—ด
์ด ํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ๋‚˜์ค‘์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
value์ €์žฅํ•  ๋ฐ์ดํ„ฐ ๊ฐ’. ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ๋งŒ ์ €์žฅ๋œ๋‹ค.
object๋‚˜ ๋ฐฐ์—ด์„ string์œผ๋กœ ๋ฐ”๊พธ๋ ค๋ฉด JSON.stringify()๋ฅผ ์‚ฌ์šฉํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค.

value๋Š” stringํƒ€์ž…์ด๋ผ .join(',') | .split(',')์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.

localStorage.getItem(key)

getItemํŠน์ • ํ‚ค์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค.
key๊ฐ€์ ธ์˜ฌ ๋ฐ์ดํ„ฐ์˜ ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉํ•œ ๋ฌธ์ž์—ด.



setItem์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ ,
getItem์„ ํ†ตํ•ด ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.





๐Ÿ’ก localStorage๋Š” ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ์ž์˜ ๋ธŒ๋ผ์šฐ์ €์— ์œ ์ง€ํ•˜๊ณ ์ž ํ•  ๋•Œ ์œ ์šฉํ•œ ๋„๊ตฌ์ด๋‚˜, ๋ณต์žกํ•œ ์ƒํƒœ๊ด€๋ฆฌ๋‚˜ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธธ ์›ํ•œ๋‹ค๋ฉด ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ์ƒํƒœ๊ด€๋ฆฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•˜๋‹ค.

profile
๋‚ด๊ฐ€๋ณด๋ ค๊ณ ๋งŒ๋“ ๋ฒจ๋กœ๊ทธ

0๊ฐœ์˜ ๋Œ“๊ธ€