์ ์ผ ์ต์ ๋ฌธ๋ฒ ์ธ Arrow function์ ์์ฃผ๋ก ์ค๋ช ํ๋ค. ํ์ดํ ํจ์ (Arrow Function) ES6์์ ์ถ๊ฐ๋ ์๋ก์ด ํจ์ ํํ์์ ๋๋ค. ๊ฐ๋จํ ํจ์๋ฅผ ๋ง๋ค ๋ ์ ์ฉํฉ๋๋ค. ํ๋ผ๋ฏธํฐ๊ฐ ํ๋ ๋ผ๋ฉด ์๊ดํธ ์๋ต์ด ๊ฐ๋ฅํฉ๋๋ค. ์ค๊ดํธ ์์ return์ด
var, let, const์ ๋ชจ๋ JavaScript์์ ๋ณ์๋ฅผ ์ ์ธํ๋ ๋ฐ ์ฌ์ฉ๋์ง๋ง, ์ค์ํ ์ฐจ์ด์ ์ด ์์ต๋๋ค.var์ ํจ์ ์ค์ฝํ๋ฅผ ๊ฐ์ง๋ฉฐ ๊ฐ์ ์ฌํ ๋นํ ์ ์์ผ๋ฏ๋ก ์ ์ธ๋ ํจ์ ๋ด ์ด๋์๋ ์ ๊ทผํ ์ ์์ต๋๋ค. ๋ํ var ๋ณ์์ ๊ฐ์ ์ธ์ ๋ ์ง ์ฌํ ๋นํ ์ ์
: ์ด๋ ํ ๊ธฐ๋ฅ๋ ์์ css ,javscript๋ฅผ ํตํด์ ์ ๋ณด๋ฅผ ์ ์ดํ๊ณ ์ ํ ๋ ๊ฐ์ฌ์ฃผ๋ ๋ฌด์๋ฌด์ทจ์ ํ๊ทธ ํ๋ฉด ์ ์ฒด๋ฅผ ์ฐ๊ธฐ๋๋ฌธ์ (์ค๋ฐ๊ฟ ๋๋ ํ๊ทธ):์ด๋ ํ ๊ธฐ๋ฅ๋ ์์ css ,javscript๋ฅผ ํตํด์ ์ ๋ณด๋ฅผ ์ ์ดํ๊ณ ์ ํ ๋ ๊ฐ์ฌ์ฃผ๋ ๋ฌด์๋ฌด์ทจ์ ํ๊ทธ (์ค๋ฐ๊ฟ
๊ฐ์ฒด ๋ฆฌํฐ๋ด {...} ์ ์ฌ์ฉํ๋ฉด ๊ฐ์ฒด๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ์ ์ฌํ ๊ฐ์ฒด๋ฅผ ์ฌ๋ฌ ๊ฐ ๋ง๋ค์ด์ผ ํ ๋๊ฐ ์๊ธฐ๊ณค ํฉ๋๋ค. ๋ณต์์ ์ฌ์ฉ์, ๋ฉ๋ด ๋ด ๋ค์ํ ์์ดํ ์ ๊ฐ์ฒด๋ก ํํํ๋ ค๊ณ ํ๋ ๊ฒฝ์ฐ๊ฐ ๊ทธ๋ ์ฃ .
๊ฐ์ฒด๋ ์ฌ์ฉ์(user), ์ฃผ๋ฌธ(order) ๋ฑ๊ณผ ๊ฐ์ด ์ค์ ์กด์ฌํ๋ ๊ฐ์ฒด(entity)๋ฅผ ํํํ๊ณ ์ ํ ๋ ์์ฑ๋ฉ๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋์ ๋ณด์ด์ง ์๋ ๊ณณ์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ํํฉ๋๋ค.
๊ฐ์ฒด์ ์์ ํ์ ์ ๊ทผ๋ณธ์ ์ธ ์ฐจ์ด ์ค ํ๋๋ ๊ฐ์ฒด๋ โ์ฐธ์กฐ์ ์ํด(by reference)โ ์ ์ฅ๋๊ณ ๋ณต์ฌ๋๋ค๋ ๊ฒ์ ๋๋ค.์์๊ฐ(๋ฌธ์์ด, ์ซ์, ๋ถ๋ฆฐ ๊ฐ)์ โ๊ฐ ๊ทธ๋๋กโ ์ ์ฅยทํ ๋น๋๊ณ ๋ณต์ฌ๋๋ ๋ฐ๋ฉด์ ๋ง์ด์ฃ
์๋ฃํ ์ฑํฐ์์ ๋ฐฐ์ ๋ฏ์ด ์๋ฐ์คํฌ๋ฆฝํธ์ ์ฌ๋ ๊ฐ์ง ์๋ฃํ์ด ์์ต๋๋ค. ์ด ์ค ์ผ๊ณฑ ๊ฐ๋ ์ค์ง ํ๋์ ๋ฐ์ดํฐ(๋ฌธ์์ด, ์ซ์ ๋ฑ)๋ง ๋ด์ ์ ์์ด '์์ํ(primitive type)'์ด๋ผ ๋ถ๋ฆ ๋๋ค.
ํ ์คํธ ์๋ํ๋ ์์ผ๋ก ํ์ด์ผ ํ ๊ณผ์ ์์๋ฟ๋ง ์๋๋ผ ํ์ ์์๋ ๊ด๋ฒ์ํ๊ฒ ์ฐ์ ๋๋ค.
์ฝ๋ ๊ตฌ์กฐ์์ ์์๋ณธ ๋ฐ์ ๊ฐ์ด ํ ์ค์ง๋ฆฌ ์ฃผ์์ //๋ก, ์ฌ๋ฌ ์ค์ ์ฃผ์์ / ... /๋ก ์์ํฉ๋๋ค.์ฃผ์(comment)์ ์ด๋ป๊ฒ ์ฝ๋๊ฐ ๋์ํ๋์ง, ์ ์ฝ๋๊ฐ ๋์ํ๋์ง๋ฅผ ์ค๋ช ํ๋ ๋ฐ ์ฐ์ ๋๋ค.
๊ฐ๋ฐ์๋ ๊ฐ๋ฅํ ํ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฝ๊ฒ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
Chrome์ผ๋ก ๋๋ฒ๊น ํ๊ธฐ์ข ๋ ๋ณต์กํ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ ์, ๋๋ฒ๊น ์ด๋ ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํด๋ด ์๋ค.
์ง๊ธ๊น์ง ๋ฐฐ์ด ๋ด์ฉ์ ๋ค์ ๋ ์ฌ๋ฆฌ๊ณ ์์ฝํด๋ด ์๋ค. ์ธ์ฐ๊ธฐ ์ฝ์ง ์์ ์์นซํ๋ฉด ์ค์ํ ์ ์๋ ๋ถ๋ถ์ ์ค์ฌ์ผ๋ก ์์ฝํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
ํจ์ ํํ์๋ณด๋ค ๋จ์ํ๊ณ ๊ฐ๊ฒฐํ ๋ฌธ๋ฒ์ผ๋ก ํจ์๋ฅผ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.๋ฐ๋ก ํ์ดํ ํจ์(arrow function)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ํ์ดํ ํจ์๋ผ๋ ์ด๋ฆ์ ๋ฌธ๋ฒ์ ์๊น์๋ฅผ ์ฐจ์ฉํด ์ง์ด์ก์ต๋๋ค.
ํจ์ ํํ์์๋ฐ์คํฌ๋ฆฝํธ๋ ํจ์๋ฅผ ํน๋ณํ ์ข ๋ฅ์ ๊ฐ์ผ๋ก ์ทจ๊ธํฉ๋๋ค. ๋ค๋ฅธ ์ธ์ด์์์ฒ๋ผ "ํน๋ณํ ๋์์ ํ๋ ๊ตฌ์กฐ"๋ก ์ทจ๊ธ๋์ง ์์ต๋๋ค.์ด์ ์ฑํฐ์์ ํจ์ ์ ์ธ(Function Declaration), ํจ์ ์ ์ธ๋ฌธ ๋ฐฉ์์ผ๋ก ํจ์๋ฅผ ๋ง๋ค์์ต๋๋ค. ์๋์ ๊ฐ์ด ๋ง์ด์ฃ .
์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ค ๋ณด๋ฉด ์ ์ฌํ ๋์์ ํ๋ ์ฝ๋๊ฐ ์ฌ๋ฌ ๊ณณ์์ ํ์ํ ๋๊ฐ ๋ง์ต๋๋ค.์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธ์ด๋ ๋ก๊ทธ์์์ ํ์ ๋ ์๋ด ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋์ ๊ฐ์ ๊ฒฝ์ฐ ๋ง์ด์ฃ .ํจ์๋ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ฑํ๋ ์ฃผ์ '๊ตฌ์ฑ ์์(building block)'์ ๋๋ค. ํจ์๋ฅผ ์ด์ฉํ๋ฉด
๋ณต์์ if ์กฐ๊ฑด๋ฌธ์ switch๋ฌธ์ผ๋ก ๋ฐ๊ฟ ์ ์์ต๋๋ค.switch๋ฌธ์ ์ฌ์ฉํ ๋น๊ต๋ฒ์ ํน์ ๋ณ์๋ฅผ ๋ค์ํ ์ํฉ์์ ๋น๊ตํ ์ ์๊ฒ ํด์ค๋๋ค. ์ฝ๋ ์์ฒด๊ฐ ๋น๊ต ์ํฉ์ ์ ์ค๋ช ํ๋ค๋ ์ฅ์ ๋ ์์ต๋๋ค.
์๋ฐ์คํฌ๋ฆฝํธ์ ์ธ ์ข ๋ฅ์ ๋ ผ๋ฆฌ ์ฐ์ฐ์ ||(OR), &&(AND), !(NOT)์ด ์์ต๋๋ค. || (OR) ์ธ์ ์ค ํ๋๋ผ๋ true์ด๋ฉด true๋ฅผ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํ ํผ์ฐ์ฐ์๊ฐ ๋ชจ๋ false์ธ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ์ฐ์ฐ ๊ฒฐ๊ณผ๋ ํญ์ true