๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Daily/Today I Learned

210103_TIL (์ดํ„ฐ๋ ˆ์ด์…˜..์ดํ„ฐ๋ ˆ์ดํ„ฐ..)

by joooing 2021. 1. 4.
๋ฐ˜์‘ํ˜•

๐ŸŽ ์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ


โœ”๏ธ 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๋ฌธ์ œ - ๋ฐฐ์—ด ์ตœ๋Œ€ ๊ธธ์ด ๊ตฌํ•˜์ง€ ์•Š๊ณ  ํ’€์–ด๋ณด๊ธฐ

 

 

โœ๏ธ ์•Œ๊ณ  ์‹ถ์€๊ฒƒ๋„ ์•Œ์•„์•ผ ํ• ๊ฒƒ๋„ ๋งŽ๊ฒŒ๋งŒ ๋Š๊ปด์ง€๋Š”๋ฐ ๊ทธ์— ๋น„ํ•ด์„œ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ๋ถ€์กฑํ•จ์„ ๋Š๋ผ๊ณ  ์žˆ๋‹ค. ๋ญ”๊ฐ€ ํ•˜๋‚˜๋ฅผ ์•Œ์•„๋ณด๋ ค๊ณ  ํ•˜๋ฉด ๊ทธ๊ฑธ ์•Œ๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๊ฐœ๋…๋“ค์„ ํƒ€๊ณ ํƒ€๊ณ  ์•Œ์•„๊ฐ€์•ผ ํ•ด์„œ ์ง„์งœ ํ•œ ๊ฐœ๋…์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ๋ฐฐ์šฐ๋Š”๋ฐ๋งŒ ๋ช‡ ์‹œ๊ฐ„์”ฉ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™๋‹ค. ๋‹น์—ฐํžˆ ๋งŽ์ด ์•Œ๋ฉด ๋„์›€์ด ๋˜๊ณ  ์ข‹์„๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ, ๋‹น์žฅ ํ•„์š”ํ•œ ์ง€์‹์ด ์•„๋‹ˆ๋ผ๋ฉด ์ผ๋‹จ ๊ฑด๋„ˆ๋›ฐ๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ณต๋ถ€ํ•ด์•ผํ• ์ง€, ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ ํ•˜๋˜๋Œ€๋กœ ํŒŒ๊ณ ๋“ค์–ด์•ผํ• ์ง€์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ๋“ค๊ธฐ๋„ ํ•œ๋‹ค. ๊ทธ๋ž˜๋„ ๋ฌด์—‡๋ณด๋‹ค ์š”์ฆ˜์€ ๋‹ค๋ฅธ ๊ฑฑ์ • ์—†์ด ๊ณต๋ถ€์—๋งŒ ์ „๋…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ด๋Ÿฐ ๊ณ ๋ฏผ์„ ํ•˜๋Š” ๊ฒƒ ์กฐ์ฐจ๋„ ๋งˆ์Œ ํŽธํ•˜๊ณ  ์ข‹๋‹ค ๐Ÿ˜€

 

โœ๏ธ ์ง€๋‚œ ํ•œ ๋‹ฌ ๋™์•ˆ ๋ฐฐ์› ๋˜ ๊ฐœ๋…๋“ค์„ ์ฃผ๋ง๋™์•ˆ ์ญ‰ ๋ณต์Šตํ•˜๊ณ  ๋ฌธ์ œ๋“ค๋„ ๋‹ค์‹œ ํ’€์–ด๋ดค๋Š”๋ฐ, ๋‚ด๊ฐ€ ๋ธ”๋กœ๊น…ํ•ด๋‘์—ˆ๋˜ ๊ธ€๋“ค์ด ๋„์›€์ด ๋งŽ์ด ๋˜์—ˆ๋‹ค. ๋‚ด ์ž…์žฅ์—์„œ ๋ณด๊ธฐ ํŽธํ•˜๊ฒŒ ์ •๋ฆฌํ•ด์„œ ๊ทธ๋Ÿฐ๊ฑธ์ง€๋„ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ(๐Ÿ˜ข) ์•ž์œผ๋กœ๋„ ๊ณ„์† ์ด๋ ‡๊ฒŒ ๋‚ด ๋จธ๋ฆฌ๋ณด๋‹ค๋Š” ๊ธฐ๋ก์„ ๋ฏฟ๊ณ ..! ์ค‘์š”ํ•œ ๊ฐœ๋…๋“ค์€ ๊ผญ ๋ธ”๋กœ๊ทธ๋‚˜ ๋…ธ์…˜์— ์ •๋ฆฌํ•ด ๋‘ฌ์•ผ๊ฒ ๋‹ค.

 

โœ๏ธ ์˜ค๋Š˜ ์ฝ์€ ์ฑ…์—์„œ " '๋Œ€์ถฉ ์ด๋ ‡๊ฒŒํ•˜๋ฉด ๋˜์ง€ ์•Š์„๊นŒ'ํ•˜๋Š” ๊ธฐ๋Œ€์— ์˜์กดํ•˜๋‹ค๋ณด๋ฉด, ๋ฐ˜๋“œ์‹œ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ œ์— ๋ถ€๋”ชํžŒ๋‹ค"๋ผ๋Š” ๋ง์ด ์žˆ์—ˆ๋Š”๋ฐ, ๋ญ”๊ฐ€ ๋ผˆ๋ฅผ ๋งž์€ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•˜๊ณ .. ์ง€๊ธˆ ์ƒํ™ฉ์—์„œ ๋”ฑ ํ•„์š”ํ•œ ๋ง์ด๋ผ ๋ฉ”๋ชจํ•ด๋’€๋‹ค. ์‚ฌ์‹ค ์ด์ „๊นŒ์ง€๋Š” ๋Œ€๋ถ€๋ถ„ ๊ฐ์œผ๋กœ ์ด๋ ‡๊ฒŒํ•˜๋ฉด ๋ ๊ฑฐ๊ฐ™์€๋ฐ?ํ•˜๊ณ  ๋ฌธ์ œ๋“ค์„ ํ’€์–ด์™”๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜๋„ ์ดˆ๋ฐ˜์—๋Š” ์ˆ˜๋„์ฝ”๋“œ๋ถ€ํ„ฐ ์ž‘์„ฑํ•˜๊ณ  ์ฝ”๋“œ๋กœ ์˜ฎ๊ธฐ๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์—ˆ๋Š”๋ฐ, ์–ด๋Š์ˆœ๊ฐ„๋ถ€ํ„ฐ๋Š” ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž ์ฝ”๋“œ๋ถ€ํ„ฐ ์ž…๋ ฅํ•ด๋ณด๋ฉด์„œ ๋ ๋•Œ๊นŒ์ง€ ์ˆ˜์ •ํ•˜๋Š” ์‹์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์žฌ๊ท€ ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด ์•ˆ๋˜๊ฒ ๋‹ค๋Š”๊ฑธ ํ™• ๋Š๊ผˆ๋‹ค. ์ง€๊ธˆ์˜ ๋‚˜์—๊ฒŒ ์žฌ๊ท€๋Š” ์ ˆ๋Œ€ ๊ฐ๋งŒ์œผ๋กœ ํ’€ ์ˆ˜ ์—†๋Š” ๋ถ€๋ถ„์ด๋ผ, ๊ฐ‘์ž๊ธฐ ์–ด๋ ต๊ฒŒ ๋Š๊ปด์ง„ ๊ฒƒ ๊ฐ™๋‹ค. ๋งˆ์นจ ๋˜ ์ฑ…์„ ์ฝ๋‹ค๊ฐ€ ์ €๋Ÿฐ ๋ง์ด ๋‚˜์™€์„œ ๋‚ด ๋ฌธ์ œ์ ์— ๋Œ€ํ•ด ํ•œ๋ฒˆ๋” ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ์ง€๊ธˆ๋ถ€ํ„ฐ๋ผ๋„ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ œ์— ๋ถ€๋”ชํžˆ๊ธฐ ์ „์— ๊ตฌ์ฒด์ ์ธ ๋ถ€๋ถ„๊นŒ์ง€ ์ƒ๊ฐํ•ด๋‘๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผ๊ฒ ๋‹ค! 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€