TIL/JavaScript

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

Deviloper๐Ÿ˜ˆ 2021. 8. 9. 19:07

์˜ค๋Š˜์€ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ํŽ˜์ด์ง€ ๋งˆ์ € ์™„์„ฑํ•˜๊ณ , ์ด๋ฒคํŠธ ๊ฐ์ฒด์— ๋Œ€ํ•ด ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

์ฃผ๋ง์— ์‚ด์ง 1์ฃผ์ฐจ์— ๋ฐฐ์šด ์ฝ”ํ”Œ๋ฆฟ ๋‚ด์šฉ ๋ณต์Šตํ•˜๊ณ , ํŽ˜์–ด๋ถ„์ด๋ž‘ ํ•จ๊ป˜ ๋‘์‹œ๊ฐ„ ์ •๋„ ์‹œ๊ฐ„์„ ๋” ๋‚ด์„œ ์ด ์‚ฌ์ดํŠธ๋ฅผ ์™„์„ฑํ•ด๋ณด์•˜์–ด์š”!

์ผ๋‹จ Bare Minimum ์ด์ƒ์œผ๋กœ ๋” ๋งŽ์€ ๊ฒƒ๋“ค์„ ํ•ด๋ƒˆ๊ธฐ์— ๋งŒ์กฑ์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜๋„ ํ•ญ์ƒ ๊ธฐ๋ณธ๊ธฐ๊ฐ€ ๋‹ค์ ธ์ง€๋„๋ก ์ฃผ์˜ํ•˜๋ฉฐ ๊ณต๋ถ€ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

์•„๋ž˜์™€ ๊ฐ™์ด ๊พธ๋ฉฐ ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๋””์ฆˆ๋‹ˆ๋ฅผ ์ข‹์•„ํ•ด์„œ ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด๋ณด์•˜์–ด์š”!

๋‚˜๋ฆ„ ๋™์˜์ƒ, ์• ๋‹ˆ๋ฉ”์ด์…˜, Flexbox, Validation Check ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ๋„ฃ์–ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ํ™ˆํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” HTML, CSS, DOM ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  ์ œ๋Œ€๋กœ ๋œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ๋” ๋งŽ์€ ๊ฒƒ๋“ค์ด ํ•„์š”ํ•˜๊ฒ ์ง€๋งŒ ๋ณด์ด๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ๋ดค์„ ๋•Œ๋Š” ์–ผ์ถ” ๊ฐ–์ถœ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ์—๋Š” ๋‚ด์šฉ์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ •๋ฆฌํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์ œ๊ฐ€ ๋ชฐ๋ž๋˜ ๋ถ€๋ถ„์„ ์œ„์ฃผ๋กœ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

๋จผ์ € ์ฒ˜์Œ์— DOM์„ ๋ฐฐ์› ์„ ๋•Œ, ์šฉ์–ด ์ž์ฒด๊ฐ€ ๊ต‰์žฅํžˆ ๋‚ฏ์„ค์—ˆ์Šต๋‹ˆ๋‹ค.

Document Object Model(๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ)์ด๋ผ๋Š” ๋œป์ธ๋ฐ์š”. 

๋ธŒ๋ผ์šฐ์ €๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ ํ•˜๋‚˜์˜ ๊ธฐ์ค€์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค!

DOM์€ Java Script์— ์˜ํ•ด ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํฌ๋กฌ์ด DOM์— ์˜ํ•ด ๋งŒ๋“ค์–ด์กŒ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

๋ฐ”๋‹๋ผJS๋Š” JS์ด์™ธ์˜ ์ถ”๊ฐ€์ ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋“ฑ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์˜ค์ง JS๋งŒ ์‚ฌ์šฉํ•œ ์ƒํƒœ๋ฅผ ๋งํ•œ๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

 

innerHTML๊ณผ textContent์™€์˜ ์ฐจ์ด

innerHTML์€ 'Element'์˜ ์†์„ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ ๋งˆํฌ์—… ํƒœ๊ทธ๋ฅผ ํ•ธ๋“ค๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ <div>, <img>, <script> ํƒœ๊ทธ ๋“ฑ๋„ ์‚ฝ์ž…์ด ๊ฐ€๋Šฅํ•œ๋ฐ์š”.

๋˜ ๋‹ค๋ฅธ ๋ง๋กœ๋Š” XSS ๊ณต๊ฒฝ์˜ ๋Œ€์ƒ์ด ์‰ฝ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

textContent๋Š” 'Node'์˜ ์†์„ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. 

๋งˆํฌ์—… ํƒœ๊ทธ๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฌธ์ž์—ด์„ ์ฝ๊ณ , ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

์ด๋ฒคํŠธ ๊ฐ์ฒด๋กœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์•„์ง ์ง์ ‘ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•ด๋ณธ ๊ฒƒ๋„ ๋ช‡๊ฐœ ์žˆ๋Š”๋ฐ ๋ธ”๋กœ๊น… ๋งˆ์น˜๊ณ  ๋งˆ์ € ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค!

  • onclick
  • onsubmit
  • onchange
  • onmouseover
  • onkeyup
  • event.preventDefault