๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
โญ Personal_Study/Javascript

DOM (Document Object Model)

by ํฌ์ŠคํŠธ์‰์ดํฌ 2022. 11. 1.

DOM

Browser APIs

โœ” ์›น ๋ธŒ๋ผ์šฐ์ €์— ๋‚ด์žฅ๋œ API๋กœ ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ˜„์žฌ ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์— ๊ด€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๊ฑฐ๋‚˜, ์˜ค๋””์˜ค๋ฅผ ์žฌ์ƒํ•˜๋Š” ๋“ฑ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์œ ์šฉํ•˜๊ณ  ๋ณต์žกํ•œ ์ผ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅ

  • DOM
  • Geolocation API
  • WebGL

DOM ๊ฐœ์š”

โœ” ๋ฌธ์„œ ๊ฐ์ฒด ๋ชจ๋ธ(Document Object Model)
โœ” ๋ฌธ์„œ์˜ ๊ตฌ์กฐํ™”๋œ ํ‘œํ˜„์„ ์ œ๊ณตํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ DOM๊ตฌ์กฐ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณต

  • ๋ฌธ์„œ ๊ตฌ์กฐ, ์Šคํƒ€์ผ, ๋‚ด์šฉ ๋“ฑ์„ ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์›€
  • HTML ์ปจํ…์ธ ๋ฅผ ์ถ”๊ฐ€, ์ œ๊ฑฐ, ๋ณ€๊ฒฝํ•˜๊ณ  ๋™์ ์œผ๋กœ ํŽ˜์ด์ง€์— ์Šคํƒ€์ผ ์ถ”๊ฐ€ํ•˜๋Š” ๋“ฑ HTML/CSS ์กฐ์ž‘ ๊ฐ€๋Šฅ

โœ” HTML ๋ฌธ์„œ๋ฅผ ๊ตฌ์กฐํ™” ํ•˜์—ฌ ๊ฐ ์š”์†Œ๋ฅผ ๊ฐ์ฒด(object)๋กœ ์ทจ๊ธ‰

domํŠธ๋ฆฌ

โœ” DOM ์€ ๋ฌธ์„œ๋ฅผ ๋…ผ๋ฆฌ ํŠธ๋ฆฌ๋กœ ํ‘œํ˜„
โœ” ์›น ํŽ˜์ด์ง€๋Š” ์ผ์ข…์˜ ๋ฌธ์„œ(document)
โœ” DOM์€ ์›นํŽ˜์ด์ง€์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ํ‘œํ˜„์ด๋ฉฐ, JavaScript์™€ ๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ์ด์šฉํ•ด DOM์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Œ

DOM์— ์ ‘๊ทผํ•˜๊ธฐ

โœ” ๋ชจ๋“  ์›น ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋ฏธ DOM ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŠน๋ณ„ํžˆ ํ•ด์•ผํ•  ์ผ์€ ์—†๋‹ค.

DOM์˜ ์ฃผ์š” ๊ฐ์ฒด

  • window
  • document
  • navigator, location, history, screen ๋“ฑ

window object

โœ” DOM์„ ํ‘œํ˜„ํ•˜๋Š” ์ฐฝ
โœ” ๊ฐ€์žฅ ์ตœ์ƒ์œ„ ๊ฐ์ฒด(์ž‘์„ฑ ์‹œ ์ƒ๋žต ๊ฐ€๋Šฅ)
โœ” ํƒญ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ๊ฐ๊ฐ์˜ ํƒญ์„ ๊ฐ๊ฐ์˜ window ๊ฐ์ฒด๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

window์˜ ๋ฉ”์„œ๋“œ

<!-- ์ƒˆ ํƒญ ์—ด๊ธฐ -->
window.open()

<!-- ๊ฒฝ๊ณ  ๋Œ€ํ™” ์ƒ์ž ํ‘œ์‹œ -->
window.print()

<!-- ์ธ์‡„ ๋Œ€ํ™” ์ƒ์ž ํ‘œ์‹œ -->
window.alert()

document object

image

โœ” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ถˆ๋Ÿฌ์˜จ ์›นํŽ˜์ด์ง€
โœ” ํŽ˜์ด์ง€ ์ปจํ…์ธ ์˜ ์ง„์ž…์  ์—ญํ• ์„ ํ•˜๋ฉฐ, <body> ๋“ฑ๊ณผ ๊ฐ™์€ ์ˆ˜๋งŽ์€ ๋‹ค๋ฅธ ์š”์†Œ๋“ค์„ ํฌํ•จ

document์˜ ์†์„ฑ ์˜ˆ์‹œ

image

โœ” ๋ฌธ์„œ์˜ ์ œ๋ชฉ

[์ฐธ๊ณ ] ํŒŒ์‹ฑ(Parsing)

โœ” ๊ตฌ๋ฌธ ๋ถ„์„, ํ•ด์„
โœ” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ฌธ์ž์—ด์„ ํ•ด์„ํ•˜์—ฌ DOM Tree๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ •

'โญ Personal_Study > Javascript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋™๊ธฐ์™€ ๋น„๋™๊ธฐ  (0) 2022.11.04
Callback & Promise  (0) 2022.11.04
JavaScript์—์„œ์˜ This  (0) 2022.11.03
Event  (0) 2022.11.02
JavaScript๋ฅผ ํ™œ์šฉํ•œ DOM ์กฐ์ž‘ ๊ธฐ์ดˆ  (0) 2022.11.02

๋Œ“๊ธ€