본문 바로가기
프로그래밍 개발/프론트엔드 개발자 기본 지식

DOM API (Web API) and Concept

by Jinseok Kim 2022. 4. 10.
반응형

DOM API (Web API) and Concept

 

 

DOM API

 

  • DOM은 문서의 구조화된 표현(structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕습니다.
  • nodesobjects로 문서를 표현한다. 이들은 웹 페이지를 스크립트 또는 프로그래밍 언어들에서 사용될 수 있게 연결시켜주는 역할을 담당합니다.
  • 웹 페이지를 수정하거나 생성하는데 사용되는 모든 property, method, event 들은 objects 로 구성되며, 예를 들어 document object 는 document 자체를 의미하며, table object 는 HTML table 에 접근하기 위한 HTMLTableElement DOM 인터페이스를 구현한 것입니다.

 

const paragraphs = document.getElementsByTagName("P"); //이처럼 스크립트 언어로 특정 문서 HTML에 접근할 수 있고

alert(paragraphs[0].nodeName); // 알림을 띄울 수도 있습니다.

 

  • 예를 들자면 웹 페이지는 일종의 문서(document)인데  이 문서는 웹 브라우저를 통해 그 내용이 해석되어 웹 브라우저 화면에 나타나거나 HTML 소스 자체로 나타나기도 하며 동일한 문서를 사용하여 이처럼 다른 형태로 나타날 수 있다는 점에 주목할 필요가 있습니다.
  • DOM 은 동일한 문서를 표현하고, 저장하고, 조작하는 방법을 제공하고 DOM은 웹 페이지의 객체 지향 표현이며, 자바스크립트와 같은 스크립팅 언어를 이용해 DOM 을 수정할 수 있습니다.

 

 

DOM 에 접근하는 원리와 이론

 

  • 모든 웹 브라우저는 스크립트가 접근할 수 있는 웹 페이지를 만들기 위해 어느 정도의 DOM 을 항상 사용합니다.
  • 스크립트를 작성할 때(인라인 <script> 요소를 사용하거나 웹 페이지 안에 있는 스크립트 로딩 명령을 사용하여), 문서 자체를 조작하거나 문서의 children 을 얻기 위해 document 또는 window elements 를 위한 API 를 즉시 사용할 수 있습니다.

 

<body onload="window.alert('DOM 조작');">

 

  • DOM 은 프로그래밍 언어는 아니지만 DOM 이 없다면 자바스크립트 언어는 웹 페이지 또는 XML 페이지 및 요소들과 관련된 모델이나 개념들에 대한 정보를 갖지 못하게 됩니다.
  • 문서의 모든 element(전체 문서, 헤드, 문서 안의 table, table header, table cell) 안의 text - 는 문서를 위한 document object model 의 한 부분입니다.
  • 때문에, 이러한 요소들을 DOM 과 자바스크립트와 같은 스크립팅 언어를 통해 접근하고 조작할 수 있는 것이라고 볼 수 있습니다. 

 

 

API (web or XML page) = DOM + JS (scripting language)

 

 

  • 또한 DOM 은 프로그래밍 언어와 독립적으로 디자인되어 있어 문서의 구조적인 표현은 단일 API 를 통해 이용가능합니다.
  • 예를 보여주기 위하여 자바스크립트를 주로 사용하였지만, DOM 의 구현은 어떠한 언어에서도 가능합니다.

 

 

 

요약

 

  • 문서 객체 모델(The Document Object Model, 이하 DOM)HTML, XML 문서의 프로그래밍 interface 입니다.
  • DOM은 문서의 구조화된 표현(structured representation)을 제공하며 프로그래밍 언어가 DOM 구조에 접근할 수 있는 방법을 제공하여 그들이 문서 구조, 스타일, 내용 등을 변경할 수 있게 돕습니다.
  • DOM 은 구조화된 nodes와 property 와 method 를 갖고 있는 objects로 문서를 표현하고. 이들은 웹 페이지를 스크립트 또는 프로그래밍 언어들에서 사용될 수 있게 연결시켜주는 역할을 담당합니다.
  • javascript 를 통해 웹 콘텐츠를 동적으로 제어할 수 있는 이유는 DOM 이 중간에서 interface 역할을 해주기 때문입니다.

 

 

더 깊은 내용의 참고 - https://developer.mozilla.org/ko/docs/Web/API/Document_Object_Model/Introduction

 

DOM 소개 - Web API | MDN

이 문서는 DOM에 대한 개념을 간략하게 소개하는 문서이다: DOM 이 무엇이며, 그것이 어떻게 HTML, XML (en-US) 문서들을 위한 구조를 제공하는지, 어떻게 DOM 에 접근하는지, API 가 어떻게 사용되는지에

developer.mozilla.org

 

반응형

'프로그래밍 개발 > 프론트엔드 개발자 기본 지식' 카테고리의 다른 글

Webpack 웹팩  (0) 2022.04.12
Npm  (0) 2022.04.12
ECMAScript2015(ES6)  (0) 2022.04.10
JavaScript의 동작 원리  (0) 2022.04.10
Git과 GitHub  (0) 2022.04.10

댓글