22.09.02 ์ฌ๋ฌ ์๋ฃ๋ฅผ ์ฐพ์๋ณด๋ฉฐ ๊ณต๋ถํ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ์์ต๋๋ค ๐
ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์์ ๋๋ค! ๐
์๋ฌ ์ฒ๋ฆฌํ ๋ ์์ธ์ ์ํฉ์ด๋, ๋ด๊ฐ ๊ธฐ๋ํ ๋๋ก ์ฝ๋๊ฐ ๋์ํ์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํจ.
๋๋ถ๋ถ์ ์๋ฌ๋ ์ฌํ ๋น ๋๋ฌธ์ ๋ฐ์ํ๊ฒ ๋๋๋ฐ, ์ด ๋ ์๋ฌ๋ ๋ฌด์์ผ๊น?
๋ฌธ๋ฒ์ ์ธ ๋ถ๋ถ์ ์งํค์ง ์๊ฑฐ๋, ํ์ ์ด ์๋ชป๋ ๊ฒฝ์ฐ์ ๋ฐ์ํจ.
๋๋ถ๋ถ์ ์๋ฌ๋ ํ์ ์๋ฌ๋ฅผ ์ผ์ผํค๋๋ฐ, ESLint ์ฌ์ฉ์ ํ๋ฉด ๋ฌธ๋ฒ ์๋ฌ๋ ๋ฐ๊ฒฌํ๊ธฐ ํ๋ฌ!
๋ง์ฝ ์ธ์์ ํ์ ์ด ์์ํ ๊ฒ๊ณผ ๋ค๋ฅธ ๊ฒฝ์ฐ, ๋ฐ๋ก ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ๋ ๊ฒ์ด ๋ฐ๋์งํจ.
์๋ฌ ๋ํ๋ ์ฌ์ฌ์ฉ์ฑ์ด ๊ฐ๋ฅํด์ผํ๋ฏ๋ก, ์๋ฌ๋ฅผ ์ ํ์์ผ์ ์์์(์ ์ญ์์) ์ฒ๋ฆฌํด์ผ ํ๋๋ฐ, ๋น๋๊ธฐ ํจ์ ์ฌ์ฉ์ ์๋ฌ ์ ํ๊ฐ ์๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋๋ฐ, ์ด๋ฅผ await๊ฐ ํด๊ฒฐํ ์ ์์.
์๋ฌ๋ ํธ์ถ์ ๋ฐฉํฅ์ผ๋ก ์ ํ๋๋๋ฐ, ์ด ๋ ํธ์ถ์๋ caller๋ผ๊ณ ๋ถ๋ฉฐ, ํจ์๊ฐ ํธ์ถ๋๊ธฐ ์ง์ ์ ์ฝ ์คํ์ ํธ์๋ ์คํ ์ปจํ ์คํธ์. ํ์ง๋ง, ๋น๋๊ธฐ ํจ์๋ ํธ์ถ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฌ๊ฐ ์์ค๋๋ฏ๋ก ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ ์๊ฐ ์์. ๊ทธ๋์ ๋น๋๊ธฐ ํจ์์ ์๋ฌ ์ฒ๋ฆฌ๋ await์ try-catch๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํํ ์ ์์.
์๋ฌ ๊ฐ์ฒด๋ ์ต๋ํ ๊ตฌ์ฒด์ ์ ๋ฉ์ธ์ง๋ฅผ ์ ๋ฌํ ์๋ก ์ข์. ์๋ฌ์ ๊ถ๊ทน์ ์ธ ๋ชฉ์ ์ด ๊ฐ๋ฐ์์๊ฒ ์ค๋ฅ๋ฅผ ์๋ฆฌ๊ธฐ ์ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์. ๊ทธ๋์ ํ๋ก๊ทธ๋จ์ ๊ฐ์ ์ข ๋ฃ ์ํค์ง ์๋ ๊ฒ์ ๋ถ์ฐจ์ ์ธ ๋ชฉ์ ์.
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ณธ๋ ๋ชฉ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ด ์๋์ด์, ES5๊น์ง ๋ชจ๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋์ง ์์์.
๋ชจ๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋์ง ์์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์๋๋ฐ, ๋ง์ฝ ๋ง๋๋ ค๋ฉด, ํ ํ์ผ๋ก ๋ง๋ค์ด์ผ ํ๋๋ฐ, ์์งํ๊ฒ ๋ถ๊ฐ๋ฅํจ. ๊ทธ๋์ ํ์ผ์ ์ชผ๊ฐค ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ชจ๋์.
ํ์ผ์ ์ชผ๊ฐ๋ ๊ธฐ์ค
๋ชจ๋์ด ์์์ ๋๋ ํ์ผ์ ๋ถ๋ฆฌํด๋ ์ ์ญ์ ๊ณต์ ํ๋ ๋ฌธ์ ์ ์ด ์์๋๋ฐ, ๋ณ์๋ผ๋ฆฌ ์๋ก ์ถฉ๋ํ๋ ํ์์ด ๋ฐ์ํจ. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ์ฆ์ ์คํ ํจ์๋ก ๊ฐ์ธ์คฌ๋๋ฐ, ๋ ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก ๋ชจ๋์.
๋ชจ๋์ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๋ณด ์๋์ด ๊ฐ๋ฅํ๋ฐ, ๋ชจ๋ ์์์ ์ ์ธํ ๋ณ์๋ ํด๋์ค์ private ํ๋์ ์ ์ฌํ๊ฒ ๋์ํจ.
default : ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ช ๋ น์ด์ด๋ฉฐ, ํ๋๋ง ๋ด๋ณด๋ด๊ณ ์ถ์ ๋ ์ฌ์ฉํจ.
named : ์ฌ๋ฌ ๊ฐ๋ฅผ ๋ด๋ณด๋ด๊ณ ์ถ์ ๋ ์ฌ์ฉ.
export๋ ์ ์ผ๋ฉด ์ ์์๋ก ์ข์ง๋ง, ํ 20๊ฐ ์ ๋๊น์ง๋ ๊ด์ฐฎ์..!
๋ฐ๋ฒจ์ ์ต์ ๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ๊ณ ์ถ์๋ฐ ๋ธ๋ผ์ฐ์ ์์ ์ง์ํ์ง ์๋ ๊ฒฝ์ฐ์ ์ฌ์ฉํจ.
ES6+๋ ES6 ์ด์์ ๋ฌธ๋ฒ์ ์๋ฏธํ๊ณ , ES.NEXT๋ ํ์ฌ ์ ์ ๋จ๊ณ์ ์๋ ๋ฌธ๋ฒ์ ์๋ฏธํ๋๋ฐ, ์ด๋ฌํ ๋ฌธ๋ฒ๋ค์ ํธ๋์คํ์ผ๋ง(ES5 ์ดํ์ ์ฌ์์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋) ์์ผ์ฃผ๋ ๊ฒ์ด Babel์.
ํ์ง๋ง, promise ์ฒ๋ผ ES5 ์ดํ์์ ๋์ฒดํ ์ ์๋ ๋ฌธ๋ฒ๋ค์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ์, ์ด๋ฐ ๊ฒฝ์ฐ์๋ polyfill์ ์ฌ์ฉํด์ผ ํจ.
ํ๋ก ํธ์๋์์ ์ฌ์ฉํ๋ ๋ฆฌ์์ค ํ์ผ๋ค์ ๋ฒ๋ค๋งํ๊ธฐ ์ํด์ ์ฌ์ฉํจ.
๋นจ๋ฆฌ ๊ฒ์ํด์ ํ์ตํ๊ณ ์ฌ์ฉํ๋ ๊ฒ์ด ์ค์ํจ.
document ๋ฌธ์ ์ ์ฝ์ด๋ณด๊ธฐ!