๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

โญ Personal_Study97

๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ๋™๊ธฐ์™€ ๋น„๋™๊ธฐ ๋™๊ธฐ(Synchronous) โœ” ๋ชจ๋“  ์ผ์„ ์ˆœ์„œ๋Œ€๋กœ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ โœ” ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋™๊ธฐ์‹์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด? ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์ด ์˜ฌ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋‹ค์Œ ๋กœ์ง์„ ์ฒ˜๋ฆฌ ๋น„๋™๊ธฐ(Asynchronous) โœ” ์ž‘์—…์„ ์‹œ์ž‘ํ•œ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ž‘์—…์„ ์ฒ˜๋ฆฌ(๋ณ‘๋ ฌ์  ์ˆ˜ํ–‰) ๋น„๋™๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  โœ” ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์•„์ฃผ ํฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜จ ๋’ค ์‹คํ–‰๋˜๋Š” ์•ฑ์ด ์žˆ์„ ๋•Œ ๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ถˆ๋Ÿฌ์˜จ ๋’ค์—์•ผ ์•ฑ์˜ ์‹คํ–‰ ๋กœ์ง์ด ์ˆ˜ํ–‰๋˜๋ฏ€๋กœ ์‚ฌ์šฉ์ž๋“ค์€ ๋งˆ์น˜ ์•ฑ์ด ๋ฉˆ์ถ˜ ๊ฒƒ๊ณผ ๊ฐ™์€ ๊ฒฝํ—˜์„ ๊ฒช๊ฒŒ๋œ๋‹ค. ๋น„๋™๊ธฐ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด ๋จผ์ € ์ฒ˜๋ฆฌ๋˜๋Š” ๋ถ€๋ถ„๋ถ€ํ„ฐ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ๊ธ์ •์ ์ธ ํšจ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Œ Single Thread ์–ธ์–ด, JavaScript โœ” JavaScript๋Š” ํ•œ๋ฒˆ์— .. 2022. 11. 4.
Callback & Promise Callback๊ณผ Promise ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์˜ ๋ฌธ์ œ์  โœ” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์˜ ํ•ต์‹ฌ์€ Web API๋กœ ๋“ค์–ด์˜ค๋Š” ์ˆœ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋Š” ์ˆœ์„œ์— ๋”ฐ๋ผ ์ฒ˜๋ฆฌ๋œ๋‹ค๋Š” ๊ฒƒ โœ” ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์˜ˆ์ƒํ•˜๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์—†๋‹ค ์ฝœ๋ฐฑํ•จ์ˆ˜(Callback Function) โœ” ๋‹ค๋ฅธ ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ์ „๋‹ฌ๋˜๋Š” ํ•จ์ˆ˜ โœ” ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ๋น„๋™๊ธฐ ์ž‘์—…์ด ์™ผ๋ฃŒ๋œ ํ›„ ์‹คํ–‰ํ•  ์ž‘์—…์„ ๋ช…์‹œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ๋น„๋™๊ธฐ ์ฝœ๋ฐฑ(asynchronous callback)์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ  โœ” ๋ช…์‹œ์ ์ธ ํ˜ธ์ถœ์ด ์•„๋‹Œ ํŠน์ •ํ•œ ์กฐ๊ฑด ํ˜น์€ ํ–‰๋™์— ์˜ํ•ด ํ˜ธ์ถœ๋˜๋„๋ก ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Œ โœ” '์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด', '์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด', '๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ค๋ฉด'๋“ฑ์˜ ์กฐ๊ฑด์œผ๋กœ ์ดํ›„ ๋กœ์ง์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Œ โœ” ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ.. 2022. 11. 4.
JavaScript์—์„œ์˜ This This ๊ฐœ์š” โœ” ์–ด๋– ํ•œ object๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ‚ค์›Œ๋“œ โœ” JavaScript์˜ ํ•จ์ˆ˜๋Š” ํ˜ธ์ถœ๋  ๋•Œ this๋ฅผ ์•”๋ฌต์ ์œผ๋กœ ์ „๋‹ฌ ๋ฐ›์Œ โœ” JavaScript์—์„œ์˜ this๋Š” ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ โœ” JavaScript๋Š” ํ•ด๋‹น ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ ๋ฐฉ์‹์— ๋”ฐ๋ผ this์— ๋ฐ”์ธ๋”ฉ ๋˜๋Š” ๊ฐ์ฒด๊ฐ€ ๋‹ฌ๋ผ์ง„๋‹ค. โœ” ์ฆ‰ ํ•จ์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ ๊ฒฐ์ •๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•จ์ˆ˜๊ฐ€ ์–ด๋–ป๊ฒŒ ํ˜ธ์ถœ๋˜์—ˆ๋Š”์ง€์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ๊ฒฐ์ • this INDEX ์ „์—ญ ๋ฌธ๋งฅ์—์„œ์˜ this ํ•จ์ˆ˜ ๋ฌธ๋งฅ์—์„œ์˜ this ๋‹จ์ˆœ ํ˜ธ์ถœ Method(๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋กœ์„œ) Nested ์ „์—ญ ๋ฌธ๋งฅ์—์„œ์˜ this โœ” ๋ธŒ๋ผ์šฐ์ €์˜ ์ „์—ญ ๊ฐ์ฒด์ธ window๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ์ „์—ญ ๊ฐ์ฒด๋Š” ๋ชจ๋“  ๊ฐ์ฒด์˜ ์œ ์ผํ•œ ์ตœ์ƒ์œ„ ๊ฐ์ฒด๋ฅผ ์˜๋ฏธ console.log(this) // .. 2022. 11. 3.
Event Event ๊ฐœ์š” โœ” Event๋ž€ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ณ  ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ ์ผ์–ด๋‚˜๋Š” ์‚ฌ๊ฑด(action) ํ˜น์€ ๋ฐœ์ƒ(occurence)์ธ๋ฐ, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•œ๋‹ค๋ฉด ๊ทธ๊ฒƒ๋“ค์— ์–ด๋– ํ•œ ๋ฐฉ์‹์œผ๋กœ ์‘๋‹ตํ•  ์ˆ˜ ์žˆ๋„๋ก ์‹œ์Šคํ…œ์ด ๋งํ•ด์ฃผ๋Š” ๊ฒƒ โœ” ex: ํด๋ฆฝ, ํ‚ค๋ณด๋“œ ํ‚ค ์ž…๋ ฅ, ๋ธŒ๋ผ์šฐ์ € ๋‹ซ๊ธฐ, ๋ฐ์ดํ„ฐ ์ œ์ถœ, ํ…์ŠคํŠธ ๋ณต์‚ฌ ๋“ฑ๋“ฑ... Event object โœ” ๋„คํŠธ์›Œํฌ ํ™œ๋™์ด๋‚˜ ์‚ฌ์šฉ์ž์™€์˜ ์ƒํ˜ธ์ž‘์šฉ ๊ฐ™์€ ์‚ฌ๊ฑด์˜ ๋ฐœ์ƒ์„ ์•Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ์กด์žฌ โœ” DOM ์š”์†Œ๋Š” Event๋ฅผ '์ˆ˜์‹ ' โœ” ๋ฐ›์€ Event '์ฒ˜๋ฆฌ' Event ์ฒ˜๋ฆฌ๋Š” ์ฃผ๋กœ addEventListner()๋ผ๋Š” Event ์ฒ˜๋ฆฌ๊ธฐ๋ฅผ ๋‹ค์–‘ํ•œ html ์š”์†Œ์— '๋ถ€์ฐฉ' ํ•ด์„œ ์‚ฌ์šฉ Event handler - addEventListner() โœ” ๋Œ€์ƒ์— ํŠน์ • event๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ํ•  ์ผ์„ ๋“ฑ๋กํ•œ๋‹ค Eve.. 2022. 11. 2.
JavaScript๋ฅผ ํ™œ์šฉํ•œ DOM ์กฐ์ž‘ ๊ธฐ์ดˆ DOM ์กฐ์ž‘ ๊ฐœ์š” โœ” DOM ์กฐ์ž‘ ์ˆœ์„œ ์„ ํƒ(select) ์กฐ์ž‘(maipulation) ์„ ํƒ ๊ด€๋ จ ๋ฉ”์„œ๋“œ document.querySelector(selector) โœ” ์ œ๊ณตํ•œ ์„ ํƒ์ž์™€ ์ผ์น˜ํ•˜๋Š” element ํ•œ ๊ฐœ ์„ ํƒ โœ” ์ œ๊ณตํ•œ CSS selector๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ element ๊ฐ์ฒด ๋ฐ˜ํ™˜(์—†๋‹ค๋ฉด null ๋ฐ˜ํ™˜) document.querySelectorAll(selector) โœ” ์ œ๊ณตํ•œ ์„ ํƒ์ž์™€ ์ผ์น˜ํ•˜๋Š” ์—ฌ๋Ÿฌ element๋ฅผ ์„ ํƒ โœ” ๋งค์นญํ•  ํ•˜๋‚˜ ์ด์ƒ์˜ ์…€๋ ‰ํ„ฐ๋ฅผ ํฌํ•จํ•˜๋Š” ์œ ํšจํ•œ CSS selector๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค. โœ” ์ œ๊ณตํ•œ CSS selector๋ฅผ ๋งŒ์กฑํ•˜๋Š” NodeList ๋ฐ˜ํ™˜ ์„ ํƒ ๊ด€๋ จ ๋ฉ”์„œ๋“œ ์‹ค์Šต NodeList โœ” index๋กœ๋งŒ ๊ฐ ํ•ญ๋ชฉ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ โœ” ๋ฐฐ์—ด์˜ forEach ๋ฉ”์„œ๋“œ ๋ฐ .. 2022. 11. 2.
DOM (Document Object Model) DOM Browser APIs โœ” ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋œ API๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ˜„์žฌ ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์— ๊ด€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•˜๋Š” ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์œ ์šฉํ•˜๊ณ  ๋ณต์žกํ•œ ์ผ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ DOM Geolocation API WebGL DOM ๊ฐœ์š” โœ” ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(Document Object Model) โœ” ๋ฌธ์„œ์˜ ๊ตฌ์กฐํ™”๋œ ํ‘œํ˜„์„ ์ œ๊ณตํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ DOM๊ตฌ์กฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณต ๋ฌธ์„œ ๊ตฌ์กฐ, ์Šคํƒ€์ผ, ๋‚ด์šฉ ๋“ฑ์„ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์›€ HTML ์ปจํ…์ธ ๋ฅผ ์ถ”๊ฐ€, ์ œ๊ฑฐ, ๋ณ€๊ฒฝํ•˜๊ณ  ๋™์ ์œผ๋กœ ํŽ˜์ด์ง€์— ์Šคํƒ€์ผ ์ถ”๊ฐ€ํ•˜๋Š” ๋“ฑ HTML/CSS ์กฐ์ž‘ ๊ฐ€๋Šฅ โœ” HTML ๋ฌธ์„œ๋ฅผ ๊ตฌ์กฐํ™” ํ•˜์—ฌ ๊ฐ ์š”์†Œ๋ฅผ ๊ฐ์ฒด(object)๋กœ ์ทจ๊ธ‰ โœ” DOM ์€ ๋ฌธ์„œ๋ฅผ ๋…ผ๋ฆฌ ํŠธ๋ฆฌ๋กœ ํ‘œํ˜„ โœ” ์›น ํŽ˜์ด์ง€๋Š” ์ผ์ข…์˜ ๋ฌธ์„œ(docu.. 2022. 11. 1.