์ค๋์ ์ฃผ๋ก ์ค์ต ์์ฃผ์ ๊ฐ์๋ฅผ ๋ค์๋ค.
๋ฐ๋๋ผ JS๋ก ํ ๊ธ ๋ฒํผ์ ๋ง๋ค๊ณ ๊ฐ๋จํ TodoList๋ ๋ง๋ค์ด๋ณด์๋ค.
์ปดํฌ๋ํธ ๋จ์๋ก ๊ธฐ๋ฅ์ ๊ณ์ ์ชผ๊ฐ๊ฐ๋ฉฐ ๊ตฌํํ๋ ํ์์ ์ฒ์ ์ ํด๋ณด์๋๋ฐ ์ฌ์ฌ์ฉ์ฑ์ด ๋๋ค๋ ๊ฑธ ๋๊ผ๋ค.
๋ฐ๋๋ผ JS์ ๊ฒฝ์ฐ ์ฌ์ค ๋
ธ๋ง๋์ฝ๋ ๊ฐ์๋ก ํ๋ฒ ์ ํด๋ณธ ๊ฒ์ด ์ฒ์์ด๋ผ ๊ฐ์๋ฅผ ๋ค์๋ ์ฃผ๋ก ์ฝ๋๋ฅผ ๋ฐ๋ผํ๋ ํ์์ผ๋ก ์ดํดํ๋ฉฐ ๋์ด๊ฐ๋ค. ์ด๋ฒ ์ฃผ๋ง์ ๊ผญ ํผ์ ํ์ผ๋ก ๊ตฌํํด๋ณด์์ผ๊ฒ ๋ค.
1. ์ปดํฌ๋ํธ ๋ฐฉ์์ผ๋ก TodoList ๊ตฌํ ๐
2. Local Storage ๐
์ค๋์ Local Storage์ ๋ํด ๊ฐ๋จํ ์ ๋ฆฌํด๋ณด๊ณ ์ ํ๋ค.
- key, value ๊ธฐ๋ฐ์ผ๋ก Local์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์๋ค
- ๋๋ฉ์ธ ๊ธฐ๋ฐ์ผ๋ก Storage๊ฐ ์์ฑ๋๋ค
- ๋๋ฉ์ธ๋ง ๊ฐ๋ค๋ฉด ์ฌ๋ฌ ํญ ๋ด์์ ๊ฐ์ Storage๊ฐ ๊ณต์ ๋๋ค
- ์ญ์ ํ๊ฑฐ๋ Storage๋ฅผ ๋ ๋ฆฌ์ง ์๋ ํ ์ญ์ ๋์ง์๋๋ค
// window ์๋ต ๊ฐ๋ฅ
// ์ ์ฅํ๊ธฐ
localStorage.setItem('name', 'daseul')
// ๋ถ๋ฌ์ค๊ธฐ
const storedName = localStorage.getItem('name')
// ์ญ์ ํ๊ธฐ
localStorage.removeItem('name')
// ์ ์ฒด ์ญ์ ํ๊ธฐ
localStorage.clear()
์ฌ๊ธฐ์ ์ค์ํ ์ ์ Local Storage์๋ String ํ์ ๋ง ๋ฃ์ ์ ์๊ธฐ ๋๋ฌธ์ JSON.stringify ๋ก ๋ฃ๊ณ JSON.parse ๋ก ๊ฐ์ ๊บผ๋ด ํ์ฑํด์ ์ฐ๋ ๊ฒ์ด ์ข๋ค.
์ฝ๋ ์์๋ฅผ ํตํด ์์๋ณด์.
// JSON.stringify์ JSON.parse
const user = {
name: 'daseul',
age: '26',
gender: 'woman'
}
// ์ ์ฅํ๊ธฐ
localStorage.setItem('user', JSON.stringify(user))
// ๋ถ๋ฌ์ค๊ธฐ
const storedName = JSON.parse(localStorage.getItem('user'))
์ฌ์ค ์คํ ๋ฆฌ์ง์ ์ข ๋ฅ์๋ ํ ๊ฐ์ง๊ฐ ๋ ์๋๋ฐ ๊ทธ๊ฒ์ด ๋ฐ๋ก Session Storage์ด๋ค.
- Session Storage์ ๊ฒฝ์ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ๋ซ์ผ๋ฉด ์ ์ฅ๋ ๋ด์ฉ์ด ์ด๊ธฐํ
- Local Storage์ ๊ฒฝ์ฐ ๋๋ฉ์ธ ๊ธฐ๋ฐ์ผ๋ก Storage๊ฐ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ๋๋ฉ์ธ๋ง ๊ฐ๋ค๋ฉด ์๊ตฌ ์ ์ฅ
๋ฌด์ธ๊ฐ ํ๋ก์ ํธ๋ฅผ ํ ๋ ๊ฐ์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ ์ฅํ๊ณ , ๊ทธ ๊ฐ์ ๊บผ๋ด ์ด์ฉํ๋ ๋ถ๋ถ์ ๊ผญ ํ์ํ๋ค.
๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ํน์ง๊ณผ ์ฌ์ฉ๋ฒ์ ํ์คํ ์ตํ ํ๋ก์ ํธ์ ์ ์ ์ฉํ๋๋ก ๋
ธ๋ ฅํด์ผ๊ฒ ๋ค.
์ ๊ทธ๋ฆฌ๊ณ ์ค๋์ ํ์๋ค๊ณผ ๋๋ฒ์งธ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์งํํ๋ค.
ํ์คํ ์ฒ์๋ณด๋ค๋ ์ด๋ค ์ ์ ์ฝ๋ ๋ฆฌ๋ทฐ์ ์ ์ด์ผํ๊ณ , ํ์๋ค์ ์ฝ๋์์ ๋ฐฐ์ธ์ ์ด ๋ฌด์์ธ์ง ๊นจ๋ฌ์๋ค.
๊ณ์ํด์ ์๋ก ์์ํ๋ ๊ทธ๋ฐ 5๊ฐ์์ด ๋๋๋ก ๋
ธ๋ ฅํด์ผ๊ฒ ๋ค~๐ฅฐ