๐ ์ค๋ ๋ฐฐ์ด ๊ฒ
โ๏ธ Iteration
for in, for of๋ฌธ์ ์ฐจ์ด์ ์ ๋ํ ๋ถ๋ถ์ ๋ํด ์์๋ณด๋ค๊ฐ, ๋ฐํ์ด ๋๋ Iteration ํ๋กํ ์ฝ๊ณผ Iterable๊ณผ Iterator์ ๋ํด์๋ ์๊ฒ ๋์๋ค. Iteration ํ๋กํ ์ฝ(๊ท์น)์ด๋ผ๋ ํ๋์ ๊ท์น๋ง ์งํค๋ฉด, ์ฌ์ฉ์๋ ํธ๋ฆฌํ๊ฒ ์ฌ๋ฌ ๋ฐ์ดํฐ ์ ํ๋ค์ ๊ฐ์๋ฐฉ์์ผ๋ก ์ํํ ์ ์๊ฒ ๋๋ค. ์ฆ, Iteration์ด ์ฌ๋ฌ ๋ฐ์ดํฐ ํ์ ๋ค์ด ๊ณตํต๋ ์ํ ๋ฐฉ์์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค ๋๋ถ์ for…of๋ฌธ, spread operator(...) ๋ฑ์ ์ฌ์ฉํด ํธ๋ฆฌํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ํํ ์ ์๊ฒ ๋ ๊ฒ์ด๋ค. ์ด ๊ฐ๋ ์ ์กฐ๊ธ ๋ณต์กํ ๊ฒ ๊ฐ์์ ๋๊ฐ๋ก ๋๋ ๋ธ๋ก๊น ํด๋์๋ค. ๊ทธ๋ฆฌ๊ณ ์ข ๋ ์ ํํ ๊ฐ๋ ์ดํด๋ฅผ ์ํด์๋ Symbol, Prototype์ ๋ํด์๋ ์์๋๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค.
โ๏ธ ์์์ ์ค๋ฅ ์์ธ, ํด๊ฒฐ๋ฐฉ๋ฒ
์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ๋ค์ ํ์ด๋ณด๋ค๊ฐ, ์์์ ์ค๋ฅ๊ฐ ๋ฐ์ํด์ ์์ธ๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋ํด ์ฐพ์๋ณด๊ฒ ๋์๋ค. ์ปดํจํฐ๋ ๊ณ์ฐํ ๋ 2์ง๋ฒ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ์ ๋ ฅํ 10์ง๋ฒ์ 2์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๋ ๋ณํ๊ณผ์ ์ด ํ์ํ๋ค. ๊ทธ๋ฐ๋ฐ ์์ ์ค ์ผ๋ถ๋ ์ด ๊ณผ์ ์์ ๋ฌดํ์์๊ฐ ๋๋ค. ํ์ง๋ง ๋ฉ๋ชจ๋ฆฌ์ ํ๊ณ๋ก ์ ํ ์์๋ก ์๋ผ์ ์ ์ฅํด๋ฒ๋ฆฌ๋๋ฐ, ๋ฐ๋ก ์ด ๊ณผ์ ์์ ๋ฏธ์ธํ ์ค์ฐจ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด๋ค. ์ด๋ฐ ๋ฌธ์ ๋ toFixed(), Math.round()๋ก ํด๊ฒฐํ ์ ์๋ค. Big.js, BigNumber.js, Decimal.js, mathjs ๋ฑ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ ๋๋ค.
โ๏ธ Coplit ๋ค์ํ๊ธฐ (๊ณ ์ฐจํจ์~์๊ณ ๋ฆฌ์ฆ)
reduce ๋ฉ์๋์ ์ต์ํด์ง๊ธฐ ์ํด ์ต๋ํ ๋ง์ ๋ฌธ์ ์ ์ ์ฉํด๋ณด๋ฉฐ ๋ค์ ํ์ด๋ดค๋ค. ๋ญ๊ฐ ์ฐ๋ค๋ณด๋ reduce์ ์ฌ๊ท๊ฐ ๋น์ทํ๊ฒ ๋์ํ๋ ๊ฒ ๊ฐ๋ค๋ ๋๋๋ ๋ฐ์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ for in, for of๋ฌธ์ ์ฐจ์ด์
for in๋ฌธ :๊ฐ์ฒด(Object)์ key๋ฅผ ์ํ
for of๋ฌธ : Iterable object์ value๋ฅผ ์ํ
โ๏ธ toFixed()
toFixed()๋ string์ผ๋ก ๋ฐํํด์ฃผ๊ธฐ ๋๋ฌธ์ Number()์ ํ๋ฒ ๋ ์ ์ฉํด์ผ numberํ์ ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ค!
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ Symbol
โ๏ธ Prototype
โ๏ธ Underbar zip๋ฌธ์ - ๋ฐฐ์ด ์ต๋ ๊ธธ์ด ๊ตฌํ์ง ์๊ณ ํ์ด๋ณด๊ธฐ
โ๏ธ ์๊ณ ์ถ์๊ฒ๋ ์์์ผ ํ ๊ฒ๋ ๋ง๊ฒ๋ง ๋๊ปด์ง๋๋ฐ ๊ทธ์ ๋นํด์ ์๊ฐ์ด ๋๋ฌด ๋ถ์กฑํจ์ ๋๋ผ๊ณ ์๋ค. ๋ญ๊ฐ ํ๋๋ฅผ ์์๋ณด๋ ค๊ณ ํ๋ฉด ๊ทธ๊ฑธ ์๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ๋ ๋ค์ ํ๊ณ ํ๊ณ ์์๊ฐ์ผ ํด์ ์ง์ง ํ ๊ฐ๋ ์ ๋ํด ์์๋ณด๊ณ ๋ฐฐ์ฐ๋๋ฐ๋ง ๋ช ์๊ฐ์ฉ ๊ฑธ๋ฆฌ๋ ๊ฒ ๊ฐ๋ค. ๋น์ฐํ ๋ง์ด ์๋ฉด ๋์์ด ๋๊ณ ์ข์๊ฑฐ๋ผ๊ณ ์๊ฐํ์ง๋ง, ๋น์ฅ ํ์ํ ์ง์์ด ์๋๋ผ๋ฉด ์ผ๋จ ๊ฑด๋๋ฐ๊ณ ํจ์จ์ ์ผ๋ก ๊ณต๋ถํด์ผํ ์ง, ์๋๋ฉด ๊ทธ๋ฅ ํ๋๋๋ก ํ๊ณ ๋ค์ด์ผํ ์ง์ ๋ํ ๊ณ ๋ฏผ์ด ๋ค๊ธฐ๋ ํ๋ค. ๊ทธ๋๋ ๋ฌด์๋ณด๋ค ์์ฆ์ ๋ค๋ฅธ ๊ฑฑ์ ์์ด ๊ณต๋ถ์๋ง ์ ๋ ํ ์ ์๋ ๊ฒ ๊ฐ์์ ์ด๋ฐ ๊ณ ๋ฏผ์ ํ๋ ๊ฒ ์กฐ์ฐจ๋ ๋ง์ ํธํ๊ณ ์ข๋ค ๐
โ๏ธ ์ง๋ ํ ๋ฌ ๋์ ๋ฐฐ์ ๋ ๊ฐ๋ ๋ค์ ์ฃผ๋ง๋์ ์ญ ๋ณต์ตํ๊ณ ๋ฌธ์ ๋ค๋ ๋ค์ ํ์ด๋ดค๋๋ฐ, ๋ด๊ฐ ๋ธ๋ก๊น ํด๋์๋ ๊ธ๋ค์ด ๋์์ด ๋ง์ด ๋์๋ค. ๋ด ์ ์ฅ์์ ๋ณด๊ธฐ ํธํ๊ฒ ์ ๋ฆฌํด์ ๊ทธ๋ฐ๊ฑธ์ง๋ ๋ชจ๋ฅด๊ฒ ์ง๋ง(๐ข) ์์ผ๋ก๋ ๊ณ์ ์ด๋ ๊ฒ ๋ด ๋จธ๋ฆฌ๋ณด๋ค๋ ๊ธฐ๋ก์ ๋ฏฟ๊ณ ..! ์ค์ํ ๊ฐ๋ ๋ค์ ๊ผญ ๋ธ๋ก๊ทธ๋ ๋ ธ์ ์ ์ ๋ฆฌํด ๋ฌ์ผ๊ฒ ๋ค.
โ๏ธ ์ค๋ ์ฝ์ ์ฑ ์์ " '๋์ถฉ ์ด๋ ๊ฒํ๋ฉด ๋์ง ์์๊น'ํ๋ ๊ธฐ๋์ ์์กดํ๋ค๋ณด๋ฉด, ๋ฐ๋์ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ ์ ๋ถ๋ชํ๋ค"๋ผ๋ ๋ง์ด ์์๋๋ฐ, ๋ญ๊ฐ ๋ผ๋ฅผ ๋ง์ ๊ฒ ๊ฐ๊ธฐ๋ ํ๊ณ .. ์ง๊ธ ์ํฉ์์ ๋ฑ ํ์ํ ๋ง์ด๋ผ ๋ฉ๋ชจํด๋๋ค. ์ฌ์ค ์ด์ ๊น์ง๋ ๋๋ถ๋ถ ๊ฐ์ผ๋ก ์ด๋ ๊ฒํ๋ฉด ๋ ๊ฑฐ๊ฐ์๋ฐ?ํ๊ณ ๋ฌธ์ ๋ค์ ํ์ด์๋ ๊ฒ ๊ฐ๋ค. ๊ทธ๋๋ ์ด๋ฐ์๋ ์๋์ฝ๋๋ถํฐ ์์ฑํ๊ณ ์ฝ๋๋ก ์ฎ๊ธฐ๋ ค๊ณ ๋ ธ๋ ฅํ์๋๋ฐ, ์ด๋์๊ฐ๋ถํฐ๋ ๋ฌธ์ ๋ฅผ ๋ณด์๋ง์ ์ฝ๋๋ถํฐ ์ ๋ ฅํด๋ณด๋ฉด์ ๋ ๋๊น์ง ์์ ํ๋ ์์ผ๋ก ํด๊ฒฐํ๊ธฐ ์์ํ๋ค. ์ฌ๊ท ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์์ํ๋ฉด์ ์ด๋ฐ ์์ผ๋ก ๋ฌธ์ ๋ฅผ ํ๋ฉด ์๋๊ฒ ๋ค๋๊ฑธ ํ ๋๊ผ๋ค. ์ง๊ธ์ ๋์๊ฒ ์ฌ๊ท๋ ์ ๋ ๊ฐ๋ง์ผ๋ก ํ ์ ์๋ ๋ถ๋ถ์ด๋ผ, ๊ฐ์๊ธฐ ์ด๋ ต๊ฒ ๋๊ปด์ง ๊ฒ ๊ฐ๋ค. ๋ง์นจ ๋ ์ฑ ์ ์ฝ๋ค๊ฐ ์ ๋ฐ ๋ง์ด ๋์์ ๋ด ๋ฌธ์ ์ ์ ๋ํด ํ๋ฒ๋ ์๊ฐํ ์ ์๊ฒ ๋์๋ค. ์ง๊ธ๋ถํฐ๋ผ๋ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ ์ ๋ถ๋ชํ๊ธฐ ์ ์ ๊ตฌ์ฒด์ ์ธ ๋ถ๋ถ๊น์ง ์๊ฐํด๋๋ ์ต๊ด์ ๋ค์ฌ์ผ๊ฒ ๋ค!
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210106_TIL (HA ๋ ๊ทธ๋ฆฌ๊ณ AJAX, XMLHttpRequest) (0) | 2021.01.06 |
---|---|
210104_TIL (์ฌ๊ท๋ก TreeUI, StringfyJSONํจ์ ๊ตฌํํ๊ธฐ) (0) | 2021.01.05 |
210102_TIL (๋ณต์ต, ํธ์ํ๋ฌ ๋ฆฌํฉํ ๋ง) (0) | 2021.01.03 |
210101_TIL (๋ณต์ตํ๋ ๋ ) (0) | 2021.01.02 |
201231_TIL (์ฌ๊ท๋ฌธ์ ํ๊ธฐ) (0) | 2020.12.31 |
๋๊ธ