[๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ] ๋ฉ‹์‚ฌ ํ”„๋ก ํŠธ์—”๋“œ ์Šค์ฟจ 5๊ธฐ 7์ฃผ์ฐจ 4LS ํšŒ๊ณ (Tailwind/DOM/this/json)

2023. 4. 17. 01:14ใ†๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ

๋ฐ˜์‘ํ˜•

[๋ฉ‹์Ÿ์ด ์‚ฌ์ž์ฒ˜๋Ÿผ] ๋ฉ‹์‚ฌ ํ”„๋ก ํŠธ์—”๋“œ ์Šค์ฟจ 5๊ธฐ 7์ฃผ์ฐจ 4LS ํšŒ๊ณ 

 โค๏ธ‍๐Ÿ”ฅ Liked
  • ์คŒ์ด๋ผ๊ณค ํšŒ์˜ํ•  ๋•Œ ๋ฐ–์— ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์€ ๋‚˜...ใ…‹ใ…‹ใ…‹ ์˜จ๋ผ์ธ์œผ๋กœ ์ˆ˜์—…์„ ๋“ฃ๊ณ  ์ฑ„ํŒ…์œผ๋กœ ์‚ฌ๋žŒ๋“ค๊ณผ ๋Œ€ํ™”ํ•˜๋Š” ๊ฑด ์•„์ง๋„ ๋‚ฏ์„ค์ง€๋งŒ ๊ทธ๋ž˜๋„ ์ƒˆ๋กœ์šด ์‚ฌ๋žŒ๋“ค์„ ์•Œ์•„๊ฐ€๋Š” ๊ฑด ์ฐธ ์ฆ๊ฑฐ์šด ์ผ์ด๋‹ค. ๊ฐ์ž ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ๋‹ค๋ฅธ ์‚ฌ์—ฐ์œผ๋กœ ์–ด๋ ต๊ฒŒ ์ง€์›ํ•ด์„œ ์น˜์—ดํ•˜๊ฒŒ ํ•™์Šตํ•˜๊ณ  ์žˆ๋Š” ๋™๊ธฐ๋“ค์˜ ๊ฐœ์ธ์ ์ธ ๋ฉด๋ชจ๋ฅผ ๋“ค์—ฌ๋‹ค๋ณผ ๋•Œ๋งˆ๋‹ค ์ฐธ ์ด ๊ฒฝํ—˜์ด ์†Œ์ค‘ํ•˜๊ธฐ๋„ ํ•˜๊ณ  ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ๊ธฐ์–ต์— ๋‚จ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.
  • ์ด๋ฒˆ ์ฃผ๋ง ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๊ฐ„์„ ์ง‘์—์„œ ๋ณต์Šตํ•˜๋Š”๋ฐ ๋ณด๋ƒˆ๋‹ค. ์ˆ˜์—… ์‹œ๊ฐ„์— ๋‹ค ๋๋‚ด์ง€ ๋ชปํ–ˆ๋˜ mbti ํŽ˜์ด์ง€๋„ ์™„์„ฑํ•ด์„œ ๋ฐฐํฌํ–ˆ๊ณ , ํ•จ์ˆ˜, ๊ฐ์ฒด, ๋ฐฐ์—ด, ๋ฐฐ์—ด๋ฉ”์†Œ๋“œ๋ฅผ ์œ ํŠญ ๊ฐ•์˜๋ž‘ ๋ณ‘ํ–‰ํ•ด์„œ ๋ณต์Šตํ•˜๋‹ค ๋ณด๋‹ˆ ์˜ˆ์ „์—๋Š” ์ „ํ˜€ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๋˜ ๋‚ด์šฉ๋“ค์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์Šต๋“๋œ ๊ฒŒ ๋Š๊ปด์กŒ๋‹ค. ๋ช‡ ๋ฒˆ์„ ๋‹ค์‹œ ๋ณด๊ณ  ๋˜ ๋ดค๋Š”์ง€...... ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ๋‚ด ๋Ÿฌ๋‹์ปค๋ธŒ๊ฐ€ ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ณ  ๋”๋””๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค ๋•Œ๊ฐ€ ๋งŽ๋‹ค. ๋‚˜ ํ˜ผ์ž ๊ณต๋ถ€ํ–ˆ์œผ๋ฉด ํฌ๊ธฐํ–ˆ์„์ง€๋„ ๋ชจ๋ฅด๋Š” ๊ตฌ๊ฐ„์„ ์ง€๋‚˜๊ฐ€๋Š” ์ค‘์ธ ๊ฒƒ ๊ฐ™๋‹ค. ๋ญ๋ผ๋„ ํ•˜๋‚˜ ๋” ๋ฐ˜๋ณตํ•˜๋Š” ์ด ์ง€๋ฃจํ•œ ์‹œ๊ฐ„์ด ๋‚ด ๋Ÿฌ๋‹์ปค๋ธŒ์— ๊ฐ€์†๋„๋ฅผ ๊ฐ€์ ธ๋‹ค์ค„ ๊ฒƒ์ด๋ž€ ๊ฑธ ์•ˆ๋‹ค. ์ด๋ฒˆ์ฃผ์— ์†Œํ™” ๋ชป ํ–ˆ๋˜ closer, callback, ....this ๋Š” ์•„์ง๋„ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์ง€๋งŒ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ณต์Šตํ•˜๋‹ค ๋ณด๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ดํ•ด๋˜๋Š” ๋‚ ์ด ์˜ค๊ฒ ์ง€. ์กด๋ฒ„!
  • ์œ ํŠญ์—์„œ ๋“œ๋ฆผ์ฝ”๋”ฉ ์—˜๋ฆฌ๋‹˜ ๊ฐ•์˜๋ฅผ ๋ณด๊ณ  ๋„์›€์ด ๋งŽ์ด ๋๋Š”๋ฐ ์ฝ”๋”ฉ์• ํ”Œ๋‹˜ ๊ฐ•์˜ ์Šคํƒ€์ผ๋„ ๋‚˜๋ž‘ ์ž˜ ๋งž๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
    ์ฝ”๋”ฉ์• ํ”Œ๋‹˜ ๋“œ๋ฆฝ์ด ๋‚ด ๊ฐœ๊ทธ์ฝ”๋“œ ์ €๊ฒฉ... ๋‚จ๋Š” ์‹œ๊ฐ„์— ๋ณผ๋งŒํ•œ ์ƒˆ๋กœ์šด ๊ฐ•์˜๋ฅผ ๋ฐœ๊ฒฌํ•ด์„œ ๊ธฐ์˜๋‹ค. :)
  • ์ฃผ๋ง์— ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ์ข€ ๋‚ ๋ฆฌ๊ณ  ์‹ถ์€ ๋งˆ์Œ์— ๋Ÿฌ๋‹์„ ํ–ˆ๋Š”๋ฐ ๋‹ฌ๋ฆฌ๊ณ  ๋ณด๋‹ˆ 6km...! ์ˆ˜์—… ๋•Œ๋ฌธ์— ์š”์ฆ˜ ์†Œํ™€ํ–ˆ๋Š”๋ฐ ์˜ค๋žœ๋งŒ์— ๋Ÿฌ๋‹ํ•˜๋‹ˆ๊นŒ ๊ธฐ๋ถ„์ด ๋„ˆ๋ฌด ์ข‹์•˜๋‹ค. 30์ดˆ๋„ ๋ชป ๋‹ฌ๋ฆฌ๋˜ ๋Ÿฐ๋ฆฐ์ด... ์ง„๋ถ€ํ•œ ์–˜๊ธฐ์ง€๋งŒ ์„ฑ์‹คํ•จ๊ณผ ๊พธ์ค€ํ•จ์€ ๋‚˜๋ฅผ ๋ฐฐ์‹ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋‹ค์‹œ ์ˆ™๊ณ ํ•˜๋ฉฐ ๋Œ์•„์™”๋‹ค.

 

 

 

 ๐Ÿ’ฃ Lacked
  • ์•„์‰ฌ์› ๋˜ ์ ์€... ์ดํ•ด๋ ฅ์ด ๋–จ์–ด์ง€๋Š” ๋‚ด ๋จธ๋ฆฌ? ์ „๋‘์—ฝ, ์ธก๋‘์—ฝ, ํ›„๋‘์—ฝ ์†Œ์ค‘ํ•œ ๋‡Œ์„ธํฌ๋“ค์•„ ํž˜๋‚ด์ค˜...๐Ÿฅฒ
  • this๋ฅผ ๋งŒ๋งŒํ•˜๊ฒŒ ๋ดค๋˜ ๊ฑธ ํ›„ํšŒํ•˜๋Š” ์ค‘... ์•Œ๋ฉด ์•Œ์ˆ˜๋ก ํ—ท๊ฐˆ๋ฆฌ๋Š” this. ์ผ๋‹จ ์ดํ•ดํ•˜๋Š” ๋งŒํผ๋งŒ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค.
  • ์ƒ์„ฑ์žํ•จ์ˆ˜ class, promise๋ฅผ ์˜ˆ์Šตํ•˜๋‹ค๊ฐ€ ์šฐ์ฃผ์— ๋‹ค๋…€์™”๋‹ค.....ใ…Ž
    ์˜ˆ์Šต์„ ์–ด๋–ค์‹์œผ๋กœ ํ•˜๋Š” ๊ฒŒ ํšจ์œจ์  ์ผ์ง€ ๊ณ ๋ฏผ์ด ์ข€ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค. ๐Ÿš€ 

 

 

 

 

 โœ๏ธ Learned
  • DOM ์€ HTML ๋ฌธ์„œ์˜ ๋‚ด์šฉ์„ ํŠธ๋ฆฌํ˜•ํƒœ๋กœ ๊ตฌ์กฐํ™”ํ•˜๋ฉฐ ์›นํŽ˜์ด์ง€์™€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์—ฐ๊ฒฐ์‹œ์ผœ ์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
  • DOM์š”์†Œ ์ ‘๊ทผ ์‹œ CSS์™€ ๋™์ผํ•˜๊ฒŒ ์„ ํƒ์ž๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.
    ๋‹จ์ผ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” document.querySelector() ๋‹ค์ˆ˜์˜ ์š”์†Œ์— ์ ‘๊ทผํ•˜๋Š” document.querySelectorAll()
  • classList ๋ฅผ ํ†ตํ•ด DOM ์š”์†Œ์— CSS class ์ œ์–ด ๊ฐ€๋Šฅ.
  • innerHTML ์€ ์š”์†Œ(element) ๋‚ด์— ํฌํ•จ๋œ HTML ๋งˆํฌ์—…์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์„ค์ •.
  • ์†์„ฑ์— ์ ‘๊ทผํ•˜๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” Attribute ๋ฉ”์†Œ๋“œ, ์ ‘๊ทผ์€ getAttribute ์ ‘๊ทผ ๋ฐ ์ˆ˜์ •์€ setAttribute
  • data-* ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด HTML์—์„œ ์š”์†Œ์— ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. script์—์„œ๋Š” dataset.* ํ˜•์‹์œผ๋กœ ์ ‘๊ทผ.
  • addEventListener ๋ฆฌ์Šค๋„ˆ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด DOM์š”์†Œ ์ œ์–ด. click, mouseover, mouseout, wheel ๋“ฑ ๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์ง€.
  • addEventListener()๋Š” ์š”์†Œ์— Event(e)๋ฅผ ์—ฐ๊ฒฐํ•˜๋ฉด event propagation์ด๋ฒคํŠธ ์ „ํŒŒ๊ฐ€ ๋ฐœ์ƒ.
  • ์ด๋ฒคํŠธ ์ „ํŒŒ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋ถ€๋ชจ๋ถ€ํ„ฐ ์ž์‹๊นŒ์ง€ ์š”์†Œ๋ฅผ ํƒ€๊ณ  ์ง„ํ–‰๋˜๋Š” event capturing event bubbling ๋•๋ถ„์—
    ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ์š”์†Œ์ธ target ๊ณผ ๋ฆฌ์Šค๋„ˆํ•จ์ˆ˜๋ฅผ ๋“ฑ๋กํ•œ ๋ถ€๋ชจ ์š”์†Œ currentTarget ์ด๋ผ๋Š” ์†์„ฑ์ด ์กด์žฌํ•œ๋‹ค.
  • ๋ณ€์ˆ˜๋Š” ์ง€์—ญ๋ณ€์ˆ˜ ์ „์—ญ๋ณ€์ˆ˜ ๊ฐ€ ์žˆ๋‹ค.
    function์„ ์‚ฌ์šฉํ•  ๋•Œ ๋‚ด๋ถ€์— ์ง€์—ญ๋ณ€์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด ๋ฐ”๊นฅ์„ ํƒ€๊ณ  ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ๋ณ€์ˆ˜๋ฅผ ์ฐพ๋Š”๋ฐ,
    ์ด๋ฅผ Scope Chaining์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋งŒ์•ฝ ์ „์—ญ์—๋„ ๋ณ€์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด Error!
  • Hoisting ์€ ํ•จ์ˆ˜๋‚˜ ๋ณ€์ˆ˜๋ฅผ Scope ์ตœ์ƒ๋‹จ์œผ๋กœ ๋Œ์–ด์˜ฌ๋ ค ์ฃผ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ํ˜„์ƒ.
    ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์„ ์–ธ ์ „์— ๋ฏธ๋ฆฌ ํ™•๋ณดํ•ด ๋†“๋Š” ๊ฒƒ.
    let, const๋ฅผ ์ด์šฉํ•œ ์„ ์–ธ๋ฌธ์€ ๋งˆ์น˜ ํ˜ธ์ด์ŠคํŒ…์ด ์•ˆ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š”๋ฐ
    ์ด๋Ÿฌํ•œ ํ˜„์ƒ์€ ์ผ์‹œ์  ์‚ฌ๊ฐ์ง€๋Œ€(Temporal Dead Zone)์— ๋น ์ง€๊ธฐ ๋•Œ๋ฌธ! ... ์ค‘์š”ํ•œ ๋‚ด์šฉ์ด๋ผ ์žฅ๋ฌธใ…Žใ…Ž ๐Ÿ˜…
  • Closer๋ž€ ํ์‡„๋œ ๊ณต๊ฐ„ ์•ˆ์˜ ์€๋‹‰ํ™”๋œ ๋ฐ์ดํ„ฐ ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ํ…Œํฌ๋‹‰. ํ•จ์ˆ˜ ๋ฐ–์—์„œ ๋ณ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜๋„, ๋ณ€๊ฒฝํ•  ์ˆ˜๋„ ์—†์Œ.
  • callback function ์€ ํ•จ์ˆ˜๋ฅผ arguments ๋กœ ์ „๋‹ฌํ•ด์„œ ์–ธ์  ๊ฐ€๋Š” ์‚ฌ์šฉ(์ฝœ๋ฐฑ)ํ•˜๊ฒ ๋‹ค ์„ ์–ธํ•ด ๋†“๋Š” ๊ฒƒ.
  • Map ์€ key์™€ value๋ฅผ ํ•œ ์Œ์œผ๋กœ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ. key๋Š” ์ค‘๋ณตํ•ด์„œ ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค. key์— ๋‹ค์–‘ํ•œ ์ž๋ฃŒํ˜•์„ ํ—ˆ์šฉํ•˜๋ฉฐ,
    keys() values() entries() ๋ฉ”์†Œ๋“œ๋กœ ๊ฐ’์„ ๋ฐ”๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๊ธฐ์กด Object๋ณด๋‹ค ๋” ์ง„ํ™”๋œ ํ˜•ํƒœ.
  • Map ์€ for..of forEach() loop๋ฅผ ํ†ตํ•ด [key, value] ๋ฐฐ์—ด์„ ์ˆœํšŒํ•ด์„œ ๋ฐ˜ํ™˜ ๊ฐ€๋Šฅ
  • Set ์€ ๋ชจ๋“  ํƒ€์ž…์˜ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ฐ์ฒด์ž๋ฃŒํ˜•์˜ ํ•œ ์ข…๋ฅ˜. Object ์•ˆ์˜ ๊ฐ’์€ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์ ์ด ํŠน์ง•.
    (์ง‘ํ•ฉ, ๊ต์ง‘ํ•ฉ, ์ฐจ์ง‘ํ•ฉ... ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ์—์„œ ์œ ์šฉํ•˜์ง€๋งŒ ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜์ง€๋Š” ์•Š์Œ.)
  • this ๋Š” ์ž์‹ ์„ ํ˜ธ์ถœํ•œ ๊ฐ์ฒด๋ฅผ this ๋กœ ์ง€์ •. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ฐ’์€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ ๋ฐฉ๋ฒ•์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค.
  • JSON(JavaScript Object Notation)์€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ Object๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•œ ๊ฒƒ.

 

 

 

 ๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป Longed For
  • 10km ๋Ÿฌ๋‹
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 0๋‹จ๊ณ„ ๋ฌธ์ œ ๋งค์ผ 3๊ฐœ์”ฉ ํ’€๊ธฐ.
  • ์ด๋ ฅ์„œ ํ‡ด๊ณ .
  • ๋งค์ผ ์ตœ์†Œ ์˜ˆ์Šต 1์‹œ๊ฐ„, ๋ณต์Šต 3์‹œ๊ฐ„ ์‹คํ–‰ํ•ด ๋ณด๊ธฐ.
  • ๋ชจ๋˜ JavaScript ํŠœํ† ๋ฆฌ์–ผ, ์ฝ”์–ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ 2๋‹จ๋ฝ ๋‚ด์šฉ ์ˆ™์ง€.
  • DOM ์ œ์–ด ์‹ค์Šต.
  • ์ƒˆ๋กœ์šด ๊ฒƒ๋ณด๋‹ค ๊ธฐ๋ณธ์— ์ถฉ์‹คํ•˜์ž. ๋ฃจํ‹ด!

 

 

 

๋ฐ˜์‘ํ˜•