๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
"๊ณต๋ถ€" ๐‘Ÿ๐‘’๐‘๐‘œ๐‘Ÿ๐‘‘/๐ต๐‘œ๐‘œ๐‘ก๐ถ๐‘Ž๐‘š๐‘

[WIL] ๋ถ€ํŠธ์บ ํ”„ 4์ฃผ์ฐจ ํšŒ๊ณ  (5/16 - 5/20)

by เท† Yoni เท† 2022. 6. 22.
728x90

4์ฃผ์ฐจ ํšŒ๊ณ  ์‹œ์ž‘ !!

 

๋ฒŒ์จ 4์ฃผ์ฐจ๋ผ๋‹ˆ...

๋ฏฟ๊ธฐ์ง€ ์•Š์„ ์ •๋„๋กœ ํ•œ ๋‹ฌ์ด ์ˆœ์‹๊ฐ„์— ์ง€๋‚˜๊ฐ”๋‹ค.

 

์ด๋ฒˆ์ฃผ์—๋Š”

DOM, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ์ด๋ฒคํŠธ ๊ฐ์ฒด,

๋กœ์ปฌ Git ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์™€ ์›๊ฒฉ ์ €์žฅ์†Œ GitHub ํ™œ์šฉ๋ฒ•์„ ๋ฐฐ์šฐ๊ณ 

Section 1์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ ๊ทธ ๋™์•ˆ ๋ฐฐ์šด ๋‚ด์šฉ์„

์ด์ง‘ํ•ฉ์‹œ์ผœ ์‘์šฉํ•ด๋ณด๋Š” ์†”๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ๋‹ค.


๋จผ์ € DOM์ด๋ž€, Document Object Model์˜ ์•ฝ์ž๋กœ

HTML ์š”์†Œ๋ฅผ Object์ฒ˜๋Ÿผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” Model์ด๋‹ค.

 

DOM์„ ์‚ฌ์šฉํ•˜๋ฉด HTML๋กœ ๊ตฌ์„ฑ๋œ ์›นํŽ˜์ด์ง€๋ฅผ

๋ณด๋‹ค ๋™์ ์œผ๋กœ ์›€์ง์ด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ

document๋ผ๋Š” ๊ฐ์ฒด์— ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฉฐ,

์–ด๋–ค ์‚ฌ์ดํŠธ์—์„œ๋‚˜ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ์ผœ์„œ

console.log(document.body) ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด

์–ด๋””์—์„œ๋‚˜ ์กฐํšŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์•„๋ž˜ ์‚ฌ์ง„์—์„œ ์˜ˆ๋ฅผ ๋“ค์–ด HTML ๊ตฌ์กฐ๊ฐ€ ์™ผ์ชฝ๊ณผ ๊ฐ™๋‹ค๋ฉด,

DOM์˜ ๊ตฌ์กฐ๋Š” ์˜ค๋ฅธ์ชฝ๊ณผ ๊ฐ™๋‹ค.


๋‹ค์Œ์œผ๋กœ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ž€,

์š”์ฒญํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋–ค ์กฐ๊ฑด์— ์ถฉ์กฑํ•˜๋Š”์ง€

ํ™•์ธํ•˜๋Š” ์ž‘์—…์ด๋‹ค.

 

ํšŒ์›๊ฐ€์ž… ์‹œ ์‚ฌ์ดํŠธ์—์„œ ์›ํ•˜๋Š” ์กฐ๊ฑด์— ๋”ฐ๋ผ

ํ˜•์‹์„ ๋งž์ถฐ ์ž…๋ ฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ

๋งŽ์ด๋“ค ๋ณด์…จ์„ ๊ฒƒ์ด๋‹ค.

 

๊ทธ๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์ด ๋ฐ”๋กœ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๊ฐ€

์ ์šฉ๋œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

 

๊ทธ๋ž˜์„œ ์‹ค์ œ JavaScript๋ฅผ ํ™œ์šฉํ•˜์—ฌ

์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ ์šฉํ•œ ํšŒ์›๊ฐ€์ž… ์ฐฝ์„

์•„๋ž˜์™€ ๊ฐ™์ด ์‹ค์ œ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค.


์ด๋ฒคํŠธ ๊ฐ์ฒด๋ž€,

์‚ฌ์šฉ์ž ์ž…๋ ฅ(onclick, onkeyup, onscroll ๋“ฑ)์„

ํŠธ๋ฆฌ๊ฑฐ๋กœ ๋ฐœ์ƒํ•œ ์ด๋ฒคํŠธ ์ •๋ณด๋ฅผ ๋‹ด์€ ๊ฐ์ฒด์ด๋‹ค.

 

์ด๋ฒคํŠธ ๊ฐ์ฒด๋Š” ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ƒ์„ธ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋‹ค.

๋ชจ๋“  ์ด๋ฒคํŠธ ๊ฐ์ฒด๋Š”

์ด๋ฒคํŠธ์˜ ํƒ€์ž…์„ ๋‚˜ํƒ€๋‚ด๋Š” type ํ”„๋กœํผํ‹ฐ์™€

์ด๋ฒคํŠธ์˜ ๋Œ€์ƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” target ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง„๋‹ค.

 

let btn = document.getElementById("btn"); // id๊ฐ€ "btn"์ธ ์š”์†Œ๋ฅผ ์„ ํƒ
btn.addEventListener("click", clickBtn);  // ์„ ํƒํ•œ ์š”์†Œ์— click ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋“ฑ๋ก

function clickBtn(event) {
    document.getElementById("text").innerHTML = "์ด ์ด๋ฒคํŠธ์˜ ํƒ€์ž…์€ " + event.type + "์ด๋ฉฐ, ์ด๋ฒคํŠธ์˜ ๋Œ€์ƒ์€ " + event.target + "์ž…๋‹ˆ๋‹ค.";
}

// ๊ฒฐ๊ณผ: ์ด ์ด๋ฒคํŠธ์˜ ํƒ€์ž…์€ click์ด๋ฉฐ, ์ด๋ฒคํŠธ์˜ ๋Œ€์ƒ์€ [object HTMLButtonElement]์ž…๋‹ˆ๋‹ค.

์ด๊ณณ์—์„  Section ํ•˜๋‚˜๊ฐ€ ๋๋‚  ๋•Œ๋งˆ๋‹ค

ํ•œ Section์—์„œ ๋ฐฐ์šด ๋ชจ๋“  ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ

Mini Hackathone์ด๋ผ๋Š” ์†”๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

 

์ฝ”๋“œ์Šคํ…Œ์ด์ธ ๋งŒ์˜ ์งˆ์˜์‘๋‹ต ํ”Œ๋žซํผ์ด ์žˆ๋Š”๋ฐ,

๊ทธ ์งˆ์˜์‘๋‹ต ํ”Œ๋žซํผ์˜ ์ถ•์†ŒํŒ์„ ํ˜ผ์ž

์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๊ตฌํ˜„ํ•ด๋ณด๋Š” ๊ฒƒ์ด๋‹ค.

 

์ด ์ดํ‹€์ด ์ฃผ์–ด์กŒ๋Š”๋ฐ

์ •๋ง ๋ฐ”์˜๊ฒŒ ์ง€๋‚˜๊ฐ„ ์ดํ‹€์ด์—ˆ๋‹ค.

 

ํ•ญ์ƒ ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๋ฉฐ

ํŽ˜์–ด์™€ ํ•จ๊ป˜ ๋„์šฐ๋ฉฐ ๊ณผ์ œ๋ฅผ ํ•˜๋‹ค๊ฐ€

์ด๋ฒˆ ์†”๋กœ ํ”„๋กœ์ ํŠธ๋Š”

ํ˜ผ์ž ํ•˜๋ ค๋‹ˆ ๋„ˆ๋ฌด๋„ˆ๋ฌด ๋ง‰๋ง‰ํ–ˆ๋‹ค.

 

๊ฒฐ๊ตญ ์™„์„ฑ๊นŒ์ง„ ํ–ˆ์ง€๋งŒ,

์•„์ง ์ฝ”๋“œ ์ดํ•ด๊ฐ€ ๋” ํ•„์š”ํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

๋””์ž์ธ์„ ์ง์ ‘ ๊ตฌ์ƒํ•˜๊ณ 

CSS์— ํž˜์„ ์ฃผ์–ด ๊ทธ ๊ฑธ ๊ตฌํ˜„ํ•˜๋ ค๋‹ˆ

์‹œ๊ฐ„์ด ๋งŽ์ด ๋น ๋“ฏํ–ˆ๋‹ค.

 

๋ฌผ๋ก  ๋””์ž์ธ๋„ ์ค‘์š”ํ•˜์ง€๋งŒ,

๋‹ค์Œ์— ๋˜ ์ด๋Ÿฐ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์„ ๋•Œ๋Š”

์ผ๋‹จ ๊ตฌํ˜„์„ ๋จผ์ € ํ•ด๋‘๊ณ 

๋‚จ์€ ์‹œ๊ฐ„์„ ํ™œ์šฉํ•ด ๋””์ž์ธ์—

์‹ ๊ฒฝ์„ ์จ์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

๊ธธ๊ณ  ํ—˜๋‚œํ–ˆ๋˜ 4์ฃผ์ฐจ์˜

Weekly I Learned

ํšŒ๊ณ  ์ž‘์„ฑ ๋„์• -!! โญ

728x90

๋Œ“๊ธ€