๐ง ์ ๊ฐ์๊ธฐ JavaScript ํฌ์คํ ์ ํ๋์?
์น FE ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ์๋ฐ, JS๋ฅผ ํฌํจํ์ฌ ํ์ํ ๊ธฐ์ ๋ค์ ๋ํ ์ ๋ฐ์ ์ธ ํ์ต ์์ค์ด ๋ถ์กฑํ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. ๊ทธ๋์ ์ ๋ฐ๋ฏธ, ์ฝ์ธ๋ผ ๋ฑ๋ฑ... ํ์ต์ ๋ ํ ์ ์๋ ๊ธธ์ ๋ชจ์์ ํ๋ค๊ฐ ์ ๋ฐ๋ฏธ์์ ์๋์ ๊ฐ์๋ฅผ ๊ตฌ๋งคํ์ฌ ๋ฃ๊ธฐ ์์ํ๋ค.
๋๋ฆ๋๋ก์ ๋ด์ค ๋ค์ง๊ธฐ๋ผ๊ณ ๋ด์ผ๊ฒ ๋ค. ์๋ฌดํผ ๊ทธ๋์ ์ด ๊ฐ์์ ์น์ ์ค JS๋ฅผ ์งง๊ฒ ๋ณต์ตํ๋ ์น์ ์ด ์๋๋ฐ, ๊ทธ ์น์ ์ ๊ฐ์๋ฅผ ๋ค์ผ๋ฉด์ ์๊ธฐ์ํจ ES6 ๋ฌธ๋ฒ๋ค ์ค์ ์ ๋ฆฌํด์ผ๊ฒ ๋ค ์ถ์ ๊ฒ๋ค์ ์ ๋ฆฌํด๋๊ณ ๋๊ณ ๋๊ณ ๋ด์ผ๊ฒ ๋ค ์๊ฐํ๋ค. ๊ทธ๋์ ์ฒซ JS ๊ณต๋ถ ์ ๋ฆฌ๋ ES6์ ์ต์ ๋ฌธ๋ฒ ์ค์ ํ๋์ธ ํ์ดํ ํจ์ (Arrow Function)์ ๋ํด์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค.
๐ ํ์ดํ ํจ์
ํ์ดํ ํจ์๋ JS์์ ํจ์๋ฅผ ์ ์ธํ๊ณ ์ ์ํ ๋ ์ฌ์ฉํ๋ ์ ํต์ ์ธ ํค์๋์ธ function ๋์ ์ฌ์ฉํ ์ ์๋ ๋ฌธ๋ฒ์ด๋ค.
ํ์ง๋ง ๋ชจ๋ ์ํฉ์์ ์ฌ์ฉํ ์ ์๊ณ ์ ํ์ ์ธ ์ํฉ์์ ์ฌ์ฉํ ์ ์๋ค.
๊ฐ์์ ๋ฐ๋ฅด๋ฉด .this ํค์๋๋ฅผ ์ข ๋ ์์ ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๊ณ ๋ค์๊ณ , MDN์ ๋ฐ๋ฅด๋ฉด ํ์ดํ ํจ์์ ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค.
- this๋ super์ ๋ํ ๋ฐ์ธ๋ฉ์ด ์๊ณ , methods๋ก ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- new.target ํค์๋๊ฐ ์์ต๋๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์ค์ฝํ๋ฅผ ์ง์ ํ ๋ ์ฌ์ฉํ๋ call, apply, bind methods๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค.
- ์์ฑ์(Constructor) ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- yield ํ์ดํ ํจ์ ๋ด๋ถ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๐ ํ์ดํ ํจ์์ ๊ธฐ๋ณธ์ ์ธ ์ฉ๋ฒ
๊ธฐ๋ณธ์ ์ธ ์ฉ๋ฒ์ ์์ ๊ฐ๋ค. ๊ณ ๊ธ ์ฉ๋ฒ๋ ์๊ณ , .this ๋ฐ์ธ๋ฉ ๋ฑ ๋ค์ํ ํน์ง๋ค์ด ์์ง๋ง, ์ด๋ฒ ํฌ์คํ ์ ๊ธฐ๋ณธ ์ฉ๋ฒ์ ๊ดํ ํฌ์คํ ์ด๋ฏ๋ก, ๊ธฐํ๊ฐ ๋ฟ๊ณ ๋ด๊ฐ ์ถฉ๋ถํ ์ดํด๋ฅผ ํ๋ค๋ฉด ์ถํ์ ํฌ์คํ ์ ํด์ ์ ๋ฆฌ๋ฅผ ํด๋๋๋ก ํ๊ฒ ๋ค.
๐ ๋ง์น๋ฉฐ
์ด๋ฒ์ ๊ฐ์๋ฅผ ๋ฃ๊ณ , MDN ๋ฑ์ ๋ค์ง๋ฉฐ ๊ธฐ๋ณธ๊ธฐ๋ฅผ ๋ค์ง๊ธฐ ์ํ ๊ณต๋ถ๋ฅผ ํ๋ ์ค์ธ๋ฐ, ์น FE ๊ฐ๋ฐ์๊ฐ ๋๊ณ ์ถ๋ค๋ ๋ง์์ ๋นํด JS์ ๊ธฐ๋ณธ์ ์ธ ๋ถ๋ถ์กฐ์ฐจ ๋ชจ๋ฅด๊ณ ์๋ค๋ ํ์ค์ ์ ์ ์์๋ค. ์ ๋ง ์ด์๊ฐ์ง๊ณ ์๋.... ๊ทธ๋์ ์์ผ๋ก๋ ์ด๋ ๊ฒ ํ๋์ฉ ์๋ก์ด๊ฑธ ์๊ฑฐ๋ ํ์คํ ๋ณต์ต์ ํ ๊ฒฝ์ฐ์๋ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํด์ ๊ณต๋ถ๋ฅผ ํ๋ค๋ ๊ธฐ๋ก์ ๋จ๊ธฐ๊ณ , ํ์ํ ๋ ๋ด๊ฐ ๊ณผ๊ฑฐ์ ๋์ ์๊ฐ์ ์ ์ ์๋๋ก ํ ์๊ฐ์ด๋ค. ์ด์ ์ ๋ง ์ด์ฌํ ํด์ผํ๋๋ฐ...
ํน์๋ผ๋ ์ด ํฌ์คํ ์ ๋ด์ฉ์ด ๋ฌธ์ ๊ฐ ์๋ค๋ฉด ๋๊ธ๋ก ๋ง์ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค :)
๐ ์ฐธ๊ณ ์๋ฃ
'Web Programming > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ES6 ๋ฌธ๋ฒ์ ๊ฐ๋จํ ์ ๋ฆฌํด๋ณด์. (0) | 2022.11.25 |
---|