๐Ÿ”‘JS | Local Storage

์›์˜ยท2023๋…„ 4์›” 27์ผ
1

์ƒˆ๋กœ์šด ์ง€์‹๐Ÿ’ก

๋ชฉ๋ก ๋ณด๊ธฐ
4/15

๐Ÿ”ŽLocal Storage

  • ์›น ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด(web storage object)๋กœ, ๋ธŒ๋ผ์šฐ์ € ๋‚ด์—์„œ ํ‚ค-๊ฐ’ ์Œ์„ ์ €์žฅ
  • ์ €์žฅ๋œ ๊ฐ’์€ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๊ฑฐ๋‚˜, ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Œ

๐Ÿ’กsetItem(key, value) : ํ‚ค, ๊ฐ’ ์ €์žฅํ•˜๊ธฐ

  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ํ‚ค-๊ฐ’ ์Œ์„ ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉ
  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์˜ ํ‚ค์™€ ๊ฐ’์€ ๋ฐ˜๋“œ์‹œ ๋ฌธ์ž์—ด์ด์–ด์•ผ ํ•จ
    ์ˆซ์ž๋‚˜ ๊ฐ์ฒด์ฒ˜๋Ÿผ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์„ ์ €์žฅํ•˜๋ฉด ๋ฌธ์ž์—ด๋กœ ์ €์žฅ๋จ
  • ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•๋“ค์€ JSON.stringfy()๋ฅผ ํ™œ์šฉํ•ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ์ €์žฅ

๋ฐฐ์—ด์„ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ

const arr = ['ex1', 'ex2', 3];

// 1. ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ์ €์žฅ
localStorage.setItem('arr_key', JSON.stringify(arr));	
// 2. ๊ทธ๋ƒฅ ์ €์žฅ
localStorage.setItem('arr_key2', arr);
  1. ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ์ €์žฅํ•œ ๊ฒฝ์šฐ ๊ฐ’
    ์˜๋„ํ•œ๋Œ€๋กœ ๋ฐฐ์—ด๋กœ ์ €์žฅ๋จ

  2. ๊ทธ๋ƒฅ ์ €์žฅํ•œ ๊ฒฝ์šฐ ๊ฐ’
    ๋ฐฐ์—ด๋กœ ์ €์žฅ๋˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ๋ฌธ์ž์—ด๋กœ ์ €์žฅ๋จ

๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒฝ์šฐ

const obj = { ex1: '์˜ˆ์‹œ1', ex2: '์˜ˆ์‹œ2' };

// 1. ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ์ €์žฅ
localStorage.setItem('obj_key', JSON.stringify(obj));
// 2. ๊ทธ๋ƒฅ ์ €์žฅ
localStorage.setItem('obj_key2', obj);
  1. ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค ์ €์žฅํ•œ ๊ฒฝ์šฐ ๊ฐ’
    ์˜๋„ํ•œ๋Œ€๋กœ ๊ฐ์ฒด๋กœ ์ €์žฅ๋จ
  2. ๊ทธ๋ƒฅ ์ €์žฅํ•œ ๊ฒฝ์šฐ ๊ฐ’
    ๊ฐ์ฒด๋กœ ์ €์žฅ๋˜์ง€ ์•Š๊ณ  [object Object]๋ผ๋Š” ๋ฌธ์ž์—ด๋กœ ์ €์žฅ๋จ

๐Ÿ’กgetItem(key) : ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ

  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์—์„œ ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉ
  • ๋ฌธ์ž์—ด๋กœ ๋ฐ›์•„์˜ด
localStorage.setItem('str', 'example');

// getItem()์€ ๋ฌธ์ž์—ด๋กœ ๋ฐ›์•„์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์ €์žฅ๋œ ๊ฐ’์ด ๋ฌธ์ž์—ด์ด๋ฉด ๊ทธ๋ƒฅ ๊ฐ€์ ธ์˜ด
console.log(localStorage.getItem('str'));

๊ฐ€์ ธ์˜ฌ ๊ฐ’์ด ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ

  • ๊ฐ€์ ธ์˜จ ๊ฐ’์„ JSON.parse()๋ฅผ ํ™œ์šฉํ•ด ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์‚ฌ์šฉ
// 1. ๊ทธ๋ƒฅ ๊ฐ€์ ธ์˜จ ๊ฒฝ์šฐ
console.log(localStorage.getItem('arr_key'));
console.log(localStorage.getItem('obj_key'));

// 2. ๊ฐ€์ ธ์˜จ ๊ฐ’ JSON ํ˜•ํƒœ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์‚ฌ์šฉ
console.log(JSON.parse(localStorage.getItem('arr_key')));
console.log(JSON.parse(localStorage.getItem('obj_key')));
  • ๊ฒฐ๊ณผ
    1๋ฒˆ ๊ฒฝ์šฐ๋Š” ๋ฌธ์ž์—ด๋กœ, 2๋ฒˆ ๊ฒฝ์šฐ๋Š” ์›ํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ฐ˜ํ™˜๋จ

๐Ÿ’กremoveItem(key) : ํ‚ค์™€ ํ•ด๋‹นํ•˜๋Š” ๊ฐ’ ์‚ญ์ œํ•˜๊ธฐ

  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์—์„œ ํ‚ค์™€ ๊ทธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉ
// ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์—์„œ key ๊ฐ’์ด 'arr_key'์ธ ์š”์†Œ ์‚ญ์ œ๋จ
localStorage.removeItem('arr_key');

๐Ÿ’กclear() : ๋ชจ๋“  ํ‚ค, ๊ฐ’ ์‚ญ์ œํ•˜๊ธฐ

  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์˜ ๋ชจ๋“  ํ‚ค-๊ฐ’ ์Œ์„ ์‚ญ์ œํ•  ๋•Œ ์‚ฌ์šฉ
localStorage.clear();

๐Ÿ’กkey(index) : ์ธ๋ฑ์Šค์— ๋งž๋Š” ํ‚ค ๊ฐ€์ ธ์˜ค๊ธฐ

  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€ ๋‚ด์˜ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ํ‚ค๋ฅผ ๊ฐ€์ ธ์˜ด
// ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€ ๋‚ด์˜ ํ‚ค-๊ฐ’ ์Œ๋“ค ์ค‘ n๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ํ‚ค๋ฅผ ๋ฐ˜ํ™˜
localStorage.key(n);

// ์‘์šฉ
console.log(localStorage.getItem(localStorage.key(n)));

๐Ÿ’กlength : ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ๋œ ๊ฐ์ฒด ๊ฐœ์ˆ˜

  • ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€ ๋‚ด์— ์ €์žฅ๋œ ๊ฐ์ฒด ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜
localStorage.length


Local Storage๋ฅผ ํ™œ์šฉํ•ด ๋ฉ”๋ชจ์žฅ์„ ๋งŒ๋“ค์–ด ๋ดค๋Š”๋ฐ..๐Ÿ˜š
ํ˜น์‹œ ๊ถ๊ธˆํ•˜์‹œ๋‹ค๋ฉด?? ๐Ÿ”—ํด๋ฆญ

profile
ํ™”์ดํŒ…~~^ใ…^/

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