๋ฐ์ํ
๐ ์ค๋ ํ ๊ฒ
โ๏ธ JSON ๊ณต๋ถ
JSON(JavaScript Object Notation)์ '๋ฐ์ดํฐ ๊ตํ'์ ์ํด ๋ง๋ค์ด์ง ํํ์์ด๋ค. ๋ฌธ๋ฒ์ Javascript ๊ฐ์ฒด, ์ค์ฒด๋ ๋ฌธ์์ด์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ๋ค. ์ ์ Local Storage์ ๋ํด ๊ณต๋ถํ๋ฉด์ ์๊ฒ ๋์๋๋ฐ, ์ค์ํ ๊ฐ๋ ์ธ ๊ฒ ๊ฐ์ ํจ๊ป ๋ธ๋ก๊น ํด๋๋ ๋์ ์ข ๋ ์ฝ๊ฒ ๋ฐฐ์ธ ์ ์์๋ค. JSON.stringify()๋ ๋ฐ์ ๋ฐ์ดํฐ๋ฅผ JSON ํํ๋ก ์ง๋ ฌํ(serialization)ํด์ฃผ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค. ์ฆ Javascript ๊ฐ์ฒด, ๋ฐฐ์ด์ JSON ๋ฌธ์์ด๋ก ๋ณํํ๋ ๊ฒ์ด๋ค. ๋ฐ๋๋ก JSON.parse()์ JSON ๋ฌธ์์ด๋ก ๋ณํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ์ฌ ์๋์ JavaScript ๊ฐ์ด๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์ญ์ง๋ ฌํ๋ฅผ ํ๋ค.
โ๏ธ StringifyJSON ํจ์๋ก ๊ตฌํํ๊ธฐ
Javascript ๊ฐ์ฒด๋ฅผ JSON ํ์์ผ๋ก ๋ณ๊ฒฝํ ์ ์๋๋ก ํ๋ ๋ฉ์๋์ธ JSON.stringify()๋ฅผ ์ง์ ํจ์๋ก ๊ตฌํํด๋ดค๋ค. ์ ๋ ฅ๊ฐ์ผ๋ก ๋ค์ด๊ฐ ์ ์๋ ๊ฐ๋ค์ number, string...๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ ๋ง๋ ํ์์ ์ง์ ํด ์ถ๋ ฅํ๋๋ก ํด์ฃผ์๋ค. ๊ฐ์ฒดํ์ ์ ์ ๋ ฅ ๋ฐ์์ ๋๋ ์ฌ๊ท๋ฅผ ์ฌ์ฉํ๋๋ฐ, ๊ทธ ์ด์ ๋ ๊ฐ์ฒด์ ๊ฐ์ผ๋ก ๋ค์ด๊ฐ๋ ๊ฐ๋ค์ด ๋ ๋ค์ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ ๊ฐ์ง ์ ์๊ธฐ ๋๋ฌธ์ด์๋ค. ์ด๋ฐ์์ผ๋ก Javascript์ ๊ฐ์ฒด๋ฅผ JSON ํ์์ผ๋ก ๋ณํํ๋ ํจ์๋ฅผ ์์ฑํ ์ ์์๋ค. ๋ JSON ๊ตฌ์กฐ๊ฐ ์ด๋ค์์ผ๋ก ์ฌ๊ท ํจ์๋ฅผ ์ฌ์ฉํ๋์ง, ์ Tree ๊ตฌ์กฐ๋ผ๊ณ ํ๋ ๊ฑด์ง๋ ์ดํดํ ์ ์์๋ค.
โ๏ธ Tree UI ๊ตฌํํ๊ธฐ
์๋์ ๊ฐ์ด Tree๊ตฌ์กฐ๋ฅผ ํํํ UI๋ฅผ ์ฌ๊ท ํจ์๋ฅผ ํตํด ๊ตฌํํด๋ณด์๋ค. ul, li, input(checkbox), span ํ๊ทธ๋ฅผ ์ด์ฉํ๋๋ฐ, ์ฌ๊ทํจ์๋ฅผ ์ฌ์ฉํ ๋ ul๊ณผ li์ ๊ด๊ณ๊ฐ ์ค์ํ ์ญํ ์ ํ๋ค. ํ์ ๋ชฉ๋ก์ด ์์ ๋๊น์ง ํ์ฌ ul์ ๋ค์ li๋ฅผ ๋ถ์ด๋ ๋ฐฉ์์ ์๊ฐํ๊ณ ์ต์ข ์ ์ผ๋ก ์์ฑํ ์ ์์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ (OOP), ํจ์ํ ํ๋ก๊ทธ๋๋ฐ (functional)
๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ : ๊ฐ์ฒด ์์ ์ํ(๋ฐ์ดํฐ)๋ฅผ ์ ์ฅํ๋๋ฐ ์ด์ (๐์บก์ํ, ์๋ํ, Scoping)
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ : ์ํ๋ฅผ ์ ์ฅํ์ง ์๊ณ ๋ด๋ณด๋ด ์์ ๋๋ฐ ์ด์ (๐๋ชจ๋ํ, ์์ํจ์)
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ญ๊ฐ๋ฅผ ์ ์ฅํ๊ธฐ๋ณด๋ค๋ ์ฐ์ฐํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ณด๋ด๋ ๊ฒ(= ์์ ๋ ๊ฒ)์ ์ด์ ์ ๋๊ธฐ ๋๋ฌธ์, ๋ณด๋ค ๊ฐ๊ฒฐํ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ฒ ๋๋ ๊ฒ์ด๋ค.
โ๏ธ input[type='checkbox'] ์ฒดํฌ์ฌ๋ถ ํ์ธ
checkbox ์์ฑ ์ค checked๋ checkbox์ check ์ฌ๋ถ๋ฅผ true, false ํํ๋ก ์ ์ฅํ๋ ์์ฑ์ด๋ค!
โ๏ธ Javascript, JSON ๊ท์น์ ์ฐจ์ด์
Javascript : key(๋ฐ์ดํ ์์ด๋๋จ), values(" ", ' ' ์ฌ์ฉ ๊ฐ๋ฅ), ํค์ ๊ฐ ์ฌ์ด, ํค-๊ฐ ์ ์ฌ์ด ๊ณต๋ฐฑ ํ์ฉ O
JSON : key(๋ฐ๋์ " " ๋ถ์ด๊ธฐ), values(๋ฐ๋์ " " ๋ถ์ด๊ธฐ), ํค์ ๊ฐ ์ฌ์ด, ํค-๊ฐ ์ ์ฌ์ด์๋ ๊ณต๋ฐฑ ํ์ฉ X
โ๏ธ ์์ ํจ์(Pure Function)
๋์ผํ ์ ๋ ฅ๊ฐ์ ๋ฃ์์ ๋, ํญ์ ๋์ผํ ๋ฆฌํด๊ฐ์ ๋ฐํํ๋ฉฐ ์ธ๋ถ์ ์ํฅ์ ๋ฐ์ง ์๋ ํจ์ (์์ ์ฑ, ์์ฐ์ฑ ๋์ฌ์ค)
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ vs ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ๋ธ๋ก๊น
โ๏ธ fetch API
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210107_TIL (ES6 ๋ฌธ๋ฒ ์ ๋ฆฌ) (0) | 2021.01.08 |
---|---|
210106_TIL (HA ๋ ๊ทธ๋ฆฌ๊ณ AJAX, XMLHttpRequest) (0) | 2021.01.06 |
210103_TIL (์ดํฐ๋ ์ด์ ..์ดํฐ๋ ์ดํฐ..) (0) | 2021.01.04 |
210102_TIL (๋ณต์ต, ํธ์ํ๋ฌ ๋ฆฌํฉํ ๋ง) (0) | 2021.01.03 |
210101_TIL (๋ณต์ตํ๋ ๋ ) (0) | 2021.01.02 |
๋๊ธ