๐ฉโ๐ป ์ด ํฌ์คํ ์์๋ ๋น๋๊ธฐ์ ๊ด๋ จ๋ ๊ฐ๋ ๋ค์ ๋ํด ์ ๋ฆฌํ์์ต๋๋ค.๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ(- ๋น๋๊ธฐ ๋ฐฉ์(- AJAX(- ์ฝ๋ฐฑํจ์(- Promise(- async / await(๋๊ธฐ์ ํ๋ก๊ทธ๋๋ฐ ์ด๋ ํ ์ฝ๋๊ฐ ์คํ๋๊ณ ์๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ ธ๋ค๊ฐ ๋ค์ ์ฝ๋๊ฐ ์์ฐจ์ ์ผ๋ก ์ฒ
OOP๋? Object Oriented Programming ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด์ ๊ด์ ์์ ํ๋ก๊ทธ๋๋ฐ ํ๋ ๊ฒ ๊ฐ์ฒด๋ค์ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๊ฒฐํด์ ํ๋ก๊ทธ๋๋ฐ ํ๋ ๊ฒ OOP์ ํน์ง 4๊ฐ์ง ์์ : ํด๋์ค๊ฐ๋ ์์ ์์ ํด๋์ค(๋ถ๋ชจ)๋ก ๋ถํฐ ํ์ ํด๋์ค(์์)์ด ์ ์ฐ
ํจ์ ๋ ๋ฒจ ์ค์ฝํ(Function-level scope) - var ํจ์ ๋ด์์ ์ ์ธ๋ ๋ณ์๋ ํจ์ ๋ด์์๋ง ์ ํจํ๋ฉฐ ํจ์ ์ธ๋ถ์์๋ ์ฐธ์กฐํ ์ ์๋ค. ์ฆ, ํจ์ ๋ด๋ถ์์ ์ ์ธํ ๋ณ์๋ ์ง์ญ ๋ณ์์ด๋ฉฐ ํจ์ ์ธ๋ถ์์ ์ ์ธํ ๋ณ์๋ ๋ชจ๋ ์ ์ญ ๋ณ์์ด๋ค. โ๏ธ๋๋ถ๋ถ์ ํ
ํ์ดํ ํจ์ ES6์์ ์๋ก ์ถ๊ฐ๋์๋ค. ์๋ ์์์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค. ํ์ดํ ํจ์๋ ์ธ์ ์ธ๊น? ์ด๋ฆ์ด ์๋ ์ต๋ช ํจ์๋ก, ์ฆ์ ์คํ์ด ํ์ํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค. ํ์ดํ ํจ์ ์ ์ฐ๋์ง? ์ฝ๋์ ๊ฐ๊ฒฐ์ฑ ๊ธฐ์กด ํจ์ ํํ์๊ณผ ๋น๊ตํ๋ฉด ๊ฐ๋จํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅ ๋ณธ๋ฌธ์ด
๐ฉโ๐ป ์ด ํฌ์คํ ์์๋ ํธ์ด์คํ ์ ๋ํด ์ ๋ฆฌํ์ต๋๋ค. ํธ์ด์คํ (Hoisting)์ด๋? ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ด๊ธฐํํ์ ๋, ์ ์ธ ๋ถ๋ถ์ด ์ต์๋จ์ผ๋ก ๋์ด์ฌ๋ ค์ง๋ ํ์. > โจ ๋ณ์ ์ ์ธ 3๋จ๊ณ ์ ์ธ โ ์ด๊ธฐํ โ ํ ๋น ํธ์ด์คํ ๋์ var ๋ณ์ ์ ์ธ, ํจ์์ ์ธ๋ฌธ l
๐ฉโ๐ป ์ด ํฌ์คํ ์์๋ ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ ์ ์ ๋ฆฌํ์์ต๋๋ค.User Interface: ์ฃผ์ ํ์์ค, ์ด์ /๋ค์ ๋ฒํผ, ๋ถ๋งํฌ ๋ฉ๋ด ๋ฑ. ํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ฐฝ ์ธ ๋ชจ๋ ๋ถ๋ถBrowser Engine: User Interface์ Rendering Engine ์ฌ์ด
์ฝ๋ฐฑ Callback ํจ์์ ์ธ์๋ก ์ฌ์ฉ๋๋ ํจ์setTimeout(ํจ์, ์๊ฐ)ํ์ด๋จธ ํจ์: ์ผ์ ์๊ฐ ํ ํจ์๋ฅผ ์คํํจ์ด๋ ์ธ์๋ก ์ฌ์ฉ๋๋ ํจ์๋ฅผ '์ฝ๋ฐฑ'์ผ๋ก ๋ถ๋ฅผ ์ ์์!
if๋ฌธ๋ณด๋ค ์ฝ๋๊ฐ ๊น๋ํ๊ฒ ์ฝํa๊ฐ ํน์ ํ ๊ฐ์ผ๋ก ๋ฑ ๋จ์ด์ง๋ ์ฌ์ฉํ๋ฉด ์ข์