Seize your moment! ๐Ÿ‘พ

์•ˆ๋…•ํ•˜์„ธ์š”. Eric์ž…๋‹ˆ๋‹ค. ์ œ ๋ธ”๋กœ๊ทธ์— ๋ฐฉ๋ฌธํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ป ๊ฐœ๋ฐœ๊ณต๋ถ€/JavaScript

[Eric's JS] localStorage ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๐Ÿค”

Eric_ko 2023. 10. 3. 17:05

JavaScript์˜ localStorage ํ™œ์šฉํ•˜๊ธฐ

์—ฌ๋Ÿฌ๋ถ„ ์•ˆ๋…•ํ•˜์„ธ์š”! Eric์ž…๋‹ˆ๋‹ค.

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

์ถ”๊ฐ€๋กœ JSON.stringify()์™€ JSON.parse()์˜ ์‚ฌ์šฉ๋ฒ•๋„ ํ•จ๊ป˜ ๋‹ค๋ฃฐ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

1. localStorage๋ž€?

localStorage๋Š” ์›น ํŽ˜์ด์ง€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๋‹ซ๊ฑฐ๋‚˜ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ ๊ณ ์นจํ•ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๊ฐ ๋ฐ์ดํ„ฐ๋Š” key-value ์Œ์œผ๋กœ ์ €์žฅ๋˜๋ฉฐ, ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

2. localStorage์— ๋ฐ์ดํ„ฐ ์ €์žฅํ•˜๊ธฐ

localStorage์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

localStorage.setItem('myKey', 'myValue');

์œ„ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด 'myKey'๋ผ๋Š” ํ‚ค์— 'myValue'๋ผ๋Š” ๊ฐ’์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

3. localStorage์—์„œ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ฌ ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค.

let data = localStorage.getItem('myKey');
console.log(data);  // "myValue"

4. localStorage์—์„œ ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ

๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•  ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค.

localStorage.removeItem('myKey');

5. localStorage์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์‚ญ์ œํ•˜๊ธฐ

๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ฒˆ์— ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค.

localStorage.clear();

6. JSON๊ณผ localStorage ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ

localStorage๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ์ž์—ด๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ €์žฅํ•˜๊ณ ์ž ํ•  ๋•Œ๋Š” JSON.stringify()์™€ JSON.parse()๋ฅผ ํ™œ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ์ฒด๋ฅผ localStorage์— ์ €์žฅํ•˜๊ธฐ

let user = {
    name: "Eric",
    age: 22
};

localStorage.setItem('user', JSON.stringify(user));

localStorage์—์„œ ๊ฐ์ฒด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ

let data = localStorage.getItem('user');
let user = JSON.parse(data);

console.log(user.name);  // "Eric"
console.log(user.age);   // 22

์ด์ฒ˜๋Ÿผ JSON.stringify()๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋ฉฐ, JSON.parse()๋Š” ๋ฌธ์ž์—ด์„ ๋‹ค์‹œ ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•ด์ค๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

localStorage๋Š” ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ์„ ์œ„ํ•œ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž์˜ ์„ค์ •, ๋กœ๊ทธ์ธ ์ •๋ณด, ์ž„์‹œ ์ €์žฅ ๋ฐ์ดํ„ฐ ๋“ฑ ๋‹ค์–‘ํ•œ ์šฉ๋„๋กœ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
JSON๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋„ ์†์‰ฝ๊ฒŒ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๋ณด์•ˆ์— ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์‹œ๊ฐ„์—๋Š” ๋‹ค๋ฅธ ์›น ์Šคํ† ๋ฆฌ์ง€์ธ sessionStorage์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ฆ๊ฑฐ์šด ์ฝ”๋”ฉ ๋˜์„ธ์š”! ๐Ÿš€

PS. ์ œ ๋ธ”๋กœ๊ทธ์˜ ๋‹คํฌ๋ชจ๋“œ๋„ localStorage ๋ฅผ ํ†ตํ•˜์—ฌ ๋‹คํฌ๋ชจ๋“œ ์ƒํƒœ๊ฐ€ ์ €์žฅํ•œ๋‹ต๋‹ˆ๋‹ค! ๐Ÿ˜‰