JavaScript/메모

💡 DOM (Document Object Model)

웹 페이지의 구조화된 문서를 표현하는 방법 중 하나로,

HTML, XML 또는 XHTML 문서의 프로그래밍 인터페이스이다.

 

웹 페이지의 요소(element)들을 객체로 표현하며,

이러한 객체들을 JavaScript를 통해 동적으로 조작하고 변경할 수 있도록 제공된다.

 

 

DOM의 기본 개념

📍 웹 페이지의 모든 요소들을 객체(Object)로 취급된다.

📍 문서 내의 모든 요소들은 트리 구조로 이루어져 있으며, 각 요소들을 부모-자식 관계를 갖는다.

📍 JavaScript를 사용하여 웹 페이지의 요소를 선택하고 조작할 수 있다.

 

 

아래의 HTML 코드를 JavaScript로 조작해보자.

<!DOCTYPE html>
<html>
<head>
    <title>My Web Page</title>
</head>
<body>
    <h1>Title</h1>
    <p>This is a paragraph.</p>
    <button id="myButton">Click Me</button>
</body>
</html>

위 HTML 문서에는 'h1', 'p'. 'button' 태그 등의 요소들로 구성되어 있다.

이러한 요소들은 DOM에 의해 객체로 표현된다.

 

아래 JavaScript 코드로 버튼을 클릭했을 때 "Hello, World!"를 출력해보자.

// 버튼 요소를 선택하여 클릭 이벤트 리스너를 등록
document.getElementById('myButton').addEventListener('click', function() {
    alert('Hello, World!');
});

위 코드에서 document DOM의 최상위 객체로,

웹 페이지의 전체 문서를 나타낸다.

 

getElementById 메서드를 사용해 myButton이라는 ID를 가진 요소,

즉 버튼을 선택하고

 

addEventListener 메서드를 사용해 클릭 이벤트에 대한 리스너를 등록한다.

클릭 이벤트가 발생하면 해당 버튼이 선택되었으므로 "Hello, World!"가 출력된다.

'JavaScript > 메모' 카테고리의 다른 글

[JavaScript] JavaScript와 jQuery  (0) 2023.07.26

 

코드를 보다가 JavaScript와 jQuery가 같이 사용되는 것을 보고 이에 대해 정리하려 한다.

 

JavaScript프로그래밍 언어이고,

jQuery는 JavaScript의 라이브러리이다.

 

기본적인 개념부터 정리해보자.

HTML은 웹 페이지의 구조를 정의하는 언어이며,

CSS는 웹 페이지의 스타일과 레이아웃을 지정하는 언어이다.

JavaScript는 이들과 함께 사용하여 웹 페이지를 동적으로 만들고 사용자와 상호작용할 수 있게 해준다.

 

따라서 HTML, CSS, JS를 함께 사용해 웹 페이지를 만들고 동적으로 제어할 수 있다.

 

 

jQuery는 JavaScript로 작성된 코드를 간결하고 쉽게 작성할 수 있게 도와주는 라이브러리이다.

 

자세히 설명하면 JS DOM 작업을 쉽게 처리할 수 있도록 도와주는 라이브러리이다.


 JavaScript 구성 요소

 

💡 JavaScript core 문법

자바스크립트의 핵심적인 문법과 기능들을 의미

변수, 조건문, 함수 등과 같은 기본적인 문법과 기능들이 여기에 해당

 

💡 JavaScript core 라이브러리

자바스크립트 언어의 기본 기능을 보완하고 확장하는 기능들이 포함된 라이브러리

대표적으로 Array, String, Math와 같은 객체들과 메소드들이 포함

 

💡 JavaScript BOM (Browser Object Model)

브라우저와 관련된 객체들의 집합을 의미

브라우저 창의 크기, URL, 화면 스크롤 위치와 같은 브라우저 창과 관련된 정보와 기능을 다루는 객체들이 여기에 해당

 

💡 JavaScript DOM (Document Object Model)

문서의 구조를 표현하고 조작하는 객체들의 집합을 의미

HTML 문서의 요소들을 자바스크립트로 접근하고 조작하는데 사용됨

웹 페이지의 요소들을 선택하고 변경하거나 이벤트를 처리하는 등의 작업에 사용됨

 


 

예를 들어 JavaScript로 DOM 요소를 선택하고 스타일을 변경하는 코드는 아래와 같다.

var element = document.getElementById("myElement");
element.style.color = "red";

이를 jQuery를 사용해 더 간단하게 작성할 수 있다.

$("#myElement").css("color", "red");

 

앞서 볼 수 있듯, jQuery를 사용해 개발 속도를 높일 수 있다.

 

하지만 

jQuery 라이브러리의 크기가 크고, 로드하는데 소요되는 시간으로 인해 일정한 오버헤드가 발생 수 있다.

(처리 속도가 느림)

 

반대로 JavaScript는 매우 빠른 처리 속도를 가진다.

반복되는 작업이나 빠른 속도가 필요로 하는 작업에는 JS를 사용하고

경우에 따라 적절히 섞어서 사용함이 좋다.

 

 

 


참고로 AJAX(Asynchronous JavaScript and XML)는

웹 애플리케이션에서 비동기적으로 데이터를 처리하는 일반적인 방법론을 지칭하는 용어이다. 

 

이러한 방법론은 기본적으로 자바스크립트를 사용하여 서버와 통신하는 것을 의미하며,

특정 라이브러리나 기술을 사용하여 구현할 수 있다.

 

 

AJAX는 특정 기술이나 라이브러리가 아님!

AJAX를 구현하기 위해 주로 jQuery와 같은 자바스크립트 라이브러리를 사용하는 경우가 많아

AJAX는 라이브러리라는 혼동이 발생..

 

 

AJAX는 웹 페이지의 새로고침 없이

필요한 데이터를 서버로부터 받아오거나 서버에 데이터를 보내는 등의 작업을 수행할 수 있다.

 

'JavaScript > 메모' 카테고리의 다른 글

[JavaScript] DOM (Document Object Model)  (0) 2023.08.02