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์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ผ ์ฆ๊ฑฐ์ด ์ฝ๋ฉ ๋์ธ์! ๐