ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ตํ๊ธฐ ์ํ ์ต๊ณ ์ ๊ฐ์!
์ค๊ธ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ์ธ์!
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ๊ณผ JavaScript ES6+
ES6+์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ฐฐ์ธ ์ ์๋ ๊ฐ์์
๋๋ค.
์ด ๊ฐ์์์๋ ES6+์ ์ดํฐ๋ฌ๋ธ/์ดํฐ๋ ์ดํฐ/์ ๋๋ ์ดํฐ ํ๋กํ ์ฝ์ ์์ธํ ๋ค๋ฃจ๊ณ ์์ฉํฉ๋๋ค.
์ดํฐ๋ฌ๋ธ์ ๊ธฐ๋ฐ์ผ๋กํ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ, map/filter/reduce, ํ์ดํ๋ผ์ธ, ์ ๋๋ ์ดํฐ๋ฅผ ํตํ ์ง์ฐ ํ๊ฐ, Promise ํฉ์ฑ, ๋์์ฑ/๋ณ๋ ฌ์ฑ, async/await์ ๋น๋๊ธฐ ์๋ฌ ํธ๋ค๋ง ๋ฑ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
์ด ๊ฐ์๋ฅผ ํตํด ์ต๋ํ๊ณ ์ฐ์ตํ์ฌ ์ค๊ธ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ์๋ก ์ฑ์ฅํ์ธ์!
์ด๋ฐ ๋ถ๋ค์๊ฒ ๋์๋ฉ๋๋ค
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์
๋ฐฐ์ฐ๊ณ ์ถ์ ๋ถ
ES6+์ ๊ธฐ์ ๋ค์
๊น๊ฒ ๋ค๋ค๋ณด๊ณ ์ถ์ ๋ถ
๊ฐ๊ฒฐํ๊ณ ์ฐ์ํ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ถ์ ๋ถ
๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์
๋ฅ์ํ๊ฒ ํ๊ณ ์ถ์ ๋ถ
์ง์ฐ์ฑ/๋์์ฑ/๋ณ๋ ฌ์ฑ
์์ธํ ์๊ณ ์ถ์ ๋ถ
์๋ฌ ํธ๋ค๋ง์ ํ๋ ๊ฒ
์ด๋ ค์ ๋ ๋ถ
์ดํฐ๋ฌ๋ธ/์ดํฐ๋ ์ดํฐ/์ ๋๋ ์ดํฐ๊ฐ ์ด๋ ค์ ๋ ๋ถ
์ค๊ธ JS๊ฐ๋ฐ์๋ก
์ฑ์ฅํ๊ณ ์ถ์ ๋ถ
์ง์๊ณต์ ์์ ํ ๋ง๋
SICP(์ปดํจํฐ ํ๋ก๊ทธ๋จ์ ๊ตฌ์กฐ์ ํด์)๋, ํ๋ก๊ทธ๋จ ๋์์ธ ์ด๋ป๊ฒ ํ ๊ฒ์ธ๊ฐ ๊ฐ์ ์ฑ
๋ค์ ๋ฆฌ์คํ์ ๋งค๋ ฅ๊ณผ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ด์ ์ ํ ๊ป ์ ๋ฌ์ฃผ๋ฉฐ, ํด๋ก์ ํ๋ก๊ทธ๋๋ฐ์ ์ฆ๊ฑฐ์์ ํด๋ก์ ์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ์ฆ๊ฒ๋ค ๋งํฉ๋๋ค.
์ ๋ ES6+๋ ๋ชป์ง ์๊ฒ ๋งค๋ ฅ์ ์ธ ์ธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ES6+์์์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ด ๊ฐ์ง ๋งค๋ ฅ๊ณผ ์ด์ ์ ์ ๋ฌํ๊ณ ์ถ์ด ์ด ๊ฐ์๋ฅผ ์ ์ํ๊ฒ ๋์์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ES6+๊ฐ ๋๋ฉด์ ๊ฐ๋ฐ์๋ค์ด ์ธ์ด๋ฅผ ๊ฐ์ง๊ณ ๋ ์ ์๋ ์ฌ๋ฐ๋ ๊ท์ฝ๋ค์ด ๋ง์ด ๋ง๋ค์ด์ก์ต๋๋ค. ๋ํ ES6+๋ ๋์ ์์ค์ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์๋ ๋ง์ ๊ธฐ๋ฐ์ ๊ฐ์ถ๊ณ ์์ต๋๋ค.
ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ๊ฐ๊ฒฐํ ์ฝ๋๋ก ํด๊ฒฐํ๋ ๋์์ ํจ์/๋น๋๊ธฐ/์ง์ฐ์ฑ/๋์์ฑ ๋ฑ์ ๊ฐ์ผ๋ก ๋ค๋ค ์ ์ ํ ์์ ์ ํ๊ฐํ๋์์ผ๋ก ๋์ ํจ์จ์ฑ์ ์ป๋ ํน๋ณํ ์์ด๋์ด๋ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ๋ค์ ๋๋ฌด๋ ์ฌ๋ฐ์ต๋๋ค. ์ด ๊ฐ์์๋ ์ฌ๋ฐ๋ ์ฝ๋๋ค์ ๋ง์ด ๋ด์์ต๋๋ค. ๊ทธ ์ค ์ ๋๋ ์ดํฐ๋ฅผ ํตํด ๋ง๋ ์ง์ฐ๋ ์ดํฐ๋ ์ดํฐ์ Promise๋ฅผ ํฉ์ฑํ ์ฝ๋๊ฐ ํนํ ๊ทธ๋ ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Clojure์ ์ฝ์ด ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ reducers ๊ฐ์ ํจ์ ์ธํธ๋ ES6+๋ก ๊ตฌ์ฑํด๋ด
๋๋ค.
์ ๋ค๋ ์ดํฐ์ ์ดํฐ๋ ์ดํฐ
์ด ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ค์ ์์ฃผ ์งง๊ณ ๊ฐ๊ฒฐํ๋ฉฐ ์ ๋์ํฉ๋๋ค! ์ข์ ํํ๋ ฅ์ผ๋ก ๋ฌด์ฅํ ES6+์ ๊ฐ๊ฒฐํ๊ณ ์ ์ฐํ ์ฝ๋๋ฅผ ์ ๊ณตํ๋ ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ฆ๊ฒจ๋ณด์ธ์. :)
์ด ๊ฐ์์ ์ฐ๊ด๋ ๊ฐ์
๊ฐ์ Q&A
Q. ๊ธฐ์กด์ ์ฌ๋ผ์จ ๋ฌด๋ฃ ๊ฐ์์ ๋ฌด์์ด ๋ค๋ฅธ๊ฐ์?
์ฝ 8์๊ฐ 7๋ถ์ ๋ด์ฉ ์ค ๊ธฐ์กด ๊ฐ์์ ์ค๋ณต๋๋ ๋ด์ฉ์ ์ด 62๋ถ ์ ๋์ด๋ฉฐ, ๋๋จธ์ง 7์๊ฐ์ ๋ด์ฉ์ ๋ชจ๋ ์๋ก์ด ๋ด์ฉ์
๋๋ค. ์งํํ ์ฑ
์๋ ์๋ ๋ด์ฉ์ด๋ฉฐ, ๋ชจ๋ ์์ ํ ์๋ก์ด ์ฝ๋๋ค ์
๋๋ค. ๊ทธ๋ ๋ค๊ณ ๊ธฐ์กด ๊ฐ์๋ฅผ ๋ค์ผ์ค ํ์๋ ์์ต๋๋ค. ๊ธฐ์กด ๊ฐ์ ๋ด์ฉ์์ ๊ตฐ๋๋๊ธฐ๋ฅผ ๋์ด๋ด๊ณ 62๋ถ์ผ๋ก ์์ถํ์ต๋๋ค. 62๋ถ์ ๋ด์ฉ์์๋ ์ฝ๋๋ ์์ ํ ์๋ก์ด ์ฝ๋์
๋๋ค. ์ปค๋ฆฌํ๋ผ์ ํตํด ํ์ธํด๋ณด์๋ฉด ๋ฉ๋๋ค! :)