profile
Front-End ๐Ÿ˜ฒ
post-thumbnail

async & await

async & await ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ํŒจํ„ด ์ค‘ ES7์— ๋‚˜์˜จ ์ตœ๊ทผ ๋ฌธ๋ฒ• ๊ธฐ์กด์˜ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฐฉ์‹์ธ ์ฝœ๋ฐฑํ•จ์ˆ˜์™€ ํ”„๋กœ๋ฏธ์Šค์˜ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝ๊ธฐ ์ข‹์€(๋™๊ธฐํ•จ์ˆ˜์ฒ˜๋Ÿผ ์ฝ๊ณ ์“ฐ๊ธฐ) ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋„์™€์ค€๋‹ค. > ๋™๊ธฐํ•จ์ˆ˜์ฒ˜๋Ÿผ ์•„๋ž˜๋กœ ์ฐจ๋ก€๋Œ€๋กœ ์ฝํžˆ๋Š” ๋ฐฉ์‹์˜ ์ฝ”๋“œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด async, await ๋ฌธ๋ฒ•์˜ ๋ชฉ์  ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ํ•จ์ˆ˜์˜ ์•ž์— async๋ผ๋Š” ์˜ˆ์•ฝ์–ด๊ฐ€ ๋ถ™์Œ 2 ํ•จ์ˆ˜์˜ ๋‚ด๋ถ€ ๋กœ์ง์ค‘ HTTP ํ†ต์‹ ์„ ํ•˜๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์ฝ”๋“œ ์•ž์— await์„ ๋ถ™ํžŒ๋‹ค. > ์ฃผ์˜ํ•  ์ : ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฉ”์„œ๋“œ๊ฐ€ ๊ผญ ํ”„๋กœ๋ฏธ์Šค ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•ด์•ผ await๊ฐ€ ์˜๋„ํ•œ ๋Œ€๋กœ ๋™์ž‘๋จ ์ผ๋ฐ˜์ ์œผ๋กœ await์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์ฝ”๋“œ๋Š” Axios๋“ฑ ํ”„๋กœ๋ฏธ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” API ํ˜ธ์ถœ์ด๋‹ค. ์˜ˆ์ œ async & await ๋ฌธ๋ฒ•์ด ๊ฐ€์žฅ ๋น›์„ ๋ฐœํ•˜๋Š” ์ˆœ๊ฐ„์€ ์—ฌ๋Ÿฌ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ž‘์—…ํ•  ๋•Œ! ์˜ˆ์™ธ์ฒ˜๋ฆฌ async & await ์—์„œ ์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ `try &

2021๋…„ 6์›” 26์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Event delegation

์ด๋ฒคํŠธ ์œ„์ž„(Event delegation) ํŠน์ • ๋…ธ๋“œ์— ์ผ์ผ์ด ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋Œ€์‹ , ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ํŠน์ • ๋…ธ๋“œ๋“ค์„ ํฌํ•จํ•˜๋Š” ์ƒ์œ„ ๋…ธ๋“œ์— ์—ฐ๊ฒฐํ•˜์—ฌ ์ด๋ฒคํŠธ๋ฅผ ์ „ํŒŒํ•˜๋Š” ๊ฒƒ์„ ์ด๋ฒคํŠธ ์œ„์ž„์ด๋ผ๊ณ  ํ•œ๋‹ค. ์œ„์ž„๋œ ์ด๋ฒคํŠธ๋Š” ํฌํ•จ๋œ ํ•˜์œ„ ๋…ธ๋“œ์— ์ „ํŒŒ๋œ๋‹ค. ์ด๋ฒคํŠธ๊ฐ€ ์ „ํŒŒ๋˜๋Š” ๋ฐฉ์‹์˜ ๊ธฐ๋ณธ๊ฐ’์€ ๋ฒ„๋ธ”๋ง(์•„๋ž˜์—์„œ ์œ„๋กœ) ์ด๋ฒคํŠธ ์œ„์ž„์ด ํ•„์š”ํ•œ ์ด์œ  ํ•˜์œ„ ๋…ธ๋“œ๋“ค์ด ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ถ”๊ฐ€ ๋˜๋Š” ์ œ๊ฑฐ ๋  ๋•Œ๋งˆ๋‹ค ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋งค๋ฒˆ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•ด์•ผํ•œ๋‹ค. ๐Ÿ’ฉ ์ด๋ฒคํŠธ ์œ„์ž„์„ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๊ธฐ์— ์ƒˆ๋กœ์šด ๋…ธ๋“œ๊ฐ€ ์ถ”๊ฐ€, ์ œ๊ฑฐ ๋˜๋Š” ์—…๋ฐ์ดํŠธ ๋˜์–ด๋„ ๋ณ„๋„๋กœ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

2021๋…„ 5์›” 23์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Module

Module์ด๋ž€..? > ํ•œ ํŒŒ์ผ์•ˆ์˜ ์ž‘์„ฑ๋˜์–ด์ง„ ์ฝ”๋“œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ๋“ค์„ ๋ถ„ํ• ํ•œ ๋‹จ์œ„ ์ฝ”๋“œ๋ฅผ ๊ทธ ํŒŒ์ผ ๋‚ด๋ถ€๋กœ ํ•œ์ •ํ•˜์—ฌ ์ „์—ญ์ ์œผ๋กœ ๋“ฑ๋ก๋˜์–ด์ง€๋Š” ๊ฒƒ์„ ๋ง‰๊ณ  ์ถฉ๋Œ์„ ๋ฐฉ์ง€ ์„œ๋กœ ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ ๊ฐ ํŒŒ์ผ์˜ ์ฝ”๋“œ์— ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€ํ•˜๋ฏ€๋กœ ์ œ๊ณตํ•˜๊ณ ์ž ํ•˜๋Š” ๋ชจ๋“ˆ์—์„œ export, ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋ชจ๋“ˆ์—์„œ import๋ฅผ ํ•˜๋ฉด ๋œ๋‹ค. ํŒŒ์ผ๋“ค๊ฐ„์˜ ์ค‘๋ณต์ ์œผ๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ด๋ฆ„ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ ๋ชจ๋“ˆ๊ฐ„์˜ ์žฌ์‚ฌ์šฉ์„ฑ๋„ ๋†’์—ฌ์ค€๋‹ค. Export & Import export ํŒŒ์ผ ์•ˆ์—์„œ ์ •์˜๋œ ์ด๋ฆ„์œผ๋กœ import ํ•ด์•ผ ํ•œ๋‹ค. importํ• ๋•Œ {} ์•ˆ์˜ ๋™์ผํ•œ ์ด๋ฆ„์œผ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค. as๋ฅผ ์ด์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ๋ณ€๊ฒฝํ•ด์„œ ํ˜ธ์ถœ ๊ฐ€๋Šฅ export ๋˜๋Š” ๋ชจ๋“  ๊ฒƒ๋“ค์„ ๋ฐ›์•„์˜ค๊ณ  ์‹ถ๋‹ค๋ฉด * ์‚ฌ์šฉ export default import์—์„œ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ์ด๋ฆ„์„ ์ •์˜ํ•ด์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•œ ํŒŒ์ผ์•ˆ์—์„œ `export

2021๋…„ 5์›” 11์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

This

This this๋Š” ํ˜„์žฌ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ์˜ ์‹คํ–‰ ์ปจํ…์ŠคํŠธ๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ™˜๊ฒฝ ๋ชจ๋“  javascript ์ฝ”๋“œ๋Š” ์‹คํ–‰ ์ปจํ…์ŠคํŠธ ๋‚ด๋ถ€์—์„œ ์‹คํ–‰๋œ๋‹ค. ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ํ˜•์ƒํ™”ํ•˜๊ณ  ๊ตฌ๋ถ„ํ•˜๋Š” ์ถ”์ƒ์ ์ธ ๊ฐœ๋… ์ข…๋ฅ˜: ์ „์—ญ ์‹คํ–‰์ปจํ…์ŠคํŠธ, ํ•จ์ˆ˜ ์‹คํ–‰์ปจํ…์ŠคํŠธ Javascript This ๋‹ค๋ฅธ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์˜ this์™€ ์„ฑ๊ฒฉ์ด ๋‹ค๋ฅด๋‹ค this๋Š” ํ•จ์ˆ˜ ์ž์‹ ์ด๋‚˜ ํ•จ์ˆ˜์˜ ๋ ‰์‹œ์ปฌ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ์ ์„ ๋ถ„๋ช…ํžˆ ์ธ์ง€ ํ˜ธ์ถœํ•œ ๋ฌธ๋งฅ์— ๋”ฐ๋ผ์„œ this๊ฐ€ ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ๋œ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ this๋ž€ ์ž๊ธฐ์ž์‹ ์„ ๊ฐ€๋ฆฌํ‚ค๋Š”๊ฒƒ์ด ์•„๋‹Œ ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ์ ์— ๋ฐ”์ธ๋”ฉ๋˜๋ฉฐ ๋ฌด์—‡์„ ๊ฐ€๋ฆฌํ‚ฌ์ง€๋Š” ์ „์ ์œผ๋กœ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ์ฝ”๋“œ์— ๋‹ฌ๋ ค์žˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ๊ธ€๋กœ๋ฒŒ ๊ฐ์ฒด์•ˆ์— ๋“ฑ๋ก์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ •์˜๋œ ํ•จ์ˆ˜๋Š” global(window)์— ๋“ฑ๋ก๋˜ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. let๊ณผ c

2021๋…„ 5์›” 10์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

Prototype

ํ”„๋กœํ† ํƒ€์ž…(Prototype)์ด๋ž€..? > ํ”„๋กœํ† ํƒ€์ž…์€ ์›๋ž˜์˜ ํ˜•ํƒœ ๋˜๋Š” ์ „ํ˜•์ ์ธ ์˜ˆ, ๊ธฐ์ดˆ ๋˜๋Š” ํ‘œ์ค€์ด๋‹ค. ์ž์‹ ์„ ๋งŒ๋“ค์–ด๋‚ธ ๊ฐ์ฒด์˜ ์›ํ˜• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋Š” ํ”„๋กœํ† ํƒ€์ž… ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์†์„ ๊ตฌํ˜„ํ•˜์—ฌ ๋ถˆํ•„์š”ํ•œ ์ค‘๋ณต์„ ์ œ๊ฑฐ ์ƒ์„ฑ์ž ํ•จ์ˆ˜๊ฐ€ ์ƒ์„ฑํ•œ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉํ•œ ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ”„๋กœํ† ํƒ€์ž…์— ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด ๋†“์Œ์œผ๋กœ์จ ๋˜ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ƒ์œ„ ๊ฐ์ฒด์ธ ํ”„๋กœํ† ํƒ€์ž…์˜ ์ž์‚ฐ์„ ๊ณต์œ ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ Prototype Chain ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ์— ์ ‘๊ทผํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๊ฐ์ฒด์— ์ ‘๊ทผํ•˜๋ ค๋Š” ํ”„๋กœํผํ‹ฐ๊ฐ€ ์—†์œผ๋ฉด ์ ‘๊ทผ์ž ํ”„๋กœํผํ‹ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋งํฌ๋ฅผ ๋”ฐ๋ผ ์ƒ์œ„ ํ”„๋กœํ† ํƒ€์ž…์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ Class (ํ”„๋กœํ† ํƒ€์ž…์˜ ์—ฐ์‡„์ž‘์šฉ) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ class๋Š” ๋””์ž์ธ ํŒจํ„ด์˜ ์ผ์ข… (๋‹ค๋ฅธ ์–ธ์–ด๋“ค๊ณผ ์˜๋ฏธ๊ฐ€ ๋‹ค๋ฆ„) ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ class๋Š” ๋ณต์‚ฌ๋ฅผ ์˜๋ฏธ (ํ”„๋กœํ† ํƒ€์ž…์˜ ์—ฐ์‡„์ž‘์šฉ) ์ธ์Šคํ„ด์Šคํ™”ํ•˜๋ฉด class -> instance๋กœ ๋ณต์‚ฌ

2021๋…„ 5์›” 10์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท