
1. Static DOM (정적 DOM):
정적 DOM은 HTML 문서의 초기 상태임.
이는 HTML 파일이 서버로부터 클라이언트로 전송될 때의 상태를 말합니다.
정적 DOM은 서버 측에서 생성되며, 웹 브라우저에 로드되면 사용자가 페이지를 볼 때 변하지 않음. 이러한 정적 DOM은 보통 페이지가 처음 로드될 때 보여지는 내용을 나타냅니다.
예를 들어, 웹 페이지의 기본 구조, 텍스트, 이미지 등이 정적 DOM에 해당함.
2. Dynamic DOM (동적 DOM):
동적 DOM은 JavaScript와 같은 클라이언트 측 스크립트를 사용하여 HTML 문서의 요소를 동적으로 변경할 수 있는 개념.
사용자의 상호 작용 또는 서버와의 통신을 통해 DOM의 내용이 동적으로 업데이트 됨.
예를 들어, 사용자가 버튼을 클릭하면 JavaScript가 실행되어 새로운 내용을 생성하거나 기존 내용을 변경하고, 이 변경 사항이 동적으로 페이지에 반영됨.
동적 DOM은 실시간 업데이트가 필요한 웹 애플리케이션에서 매우 중요합니다.
동적 DOM은 웹 페이지를 보다 동적이고 반응적으로 만들어 주어 사용자 경험을 향상시키는데 도움됨
3. ng-app:
ng-app은 AngularJS 애플리케이션의 시작점을 정의하는 지시자입니다. HTML 요소 중 하나에 ng-app 속성을 추가하여 해당 요소가 AngularJS 애플리케이션의 루트 요소가 됩니다. AngularJS는 ng-app이 지정된 요소와 그 자식 요소들을 스캔하여 애플리케이션을 초기화하고 컴파일합니다.
4. $injector:
$injector는 AngularJS 의존성 주입(Dependency Injection) 시스템의 핵심입니다. 이를 통해 AngularJS는 컴포넌트 간의 의존성을 관리하고, 의존성 주입을 통해 컴포넌트를 생성하고 구성합니다. $injector는 서비스, 컨트롤러, 디렉티브 등의 AngularJS 컴포넌트를 가져오고 생성하는 데 사용됩니다.
5. $compile:
$compile은 AngularJS의 컴파일러 서비스입니다. HTML 템플릿을 컴파일하여 AngularJS의 동적 기능을 활용할 수 있는 JavaScript 코드로 변환합니다. 이를 통해 AngularJS는 동적으로 생성된 HTML을 컴파일하고 렌더링하여 애플리케이션의 뷰를 업데이트합니다. $compile은 주로 디렉티브를 처리하고 컴파일하는 데 사용됩니다.
6. $rootScope:
$rootScope는 AngularJS 애플리케이션의 루트 스코프입니다. AngularJS의 스코프(Scope)는 애플리케이션의 모델을 나타내며, 컨트롤러, 서비스 및 뷰 간의 데이터 바인딩을 담당합니다. $rootScope는 모든 AngularJS 스코프의 부모이며, 전역 이벤트 핸들링 및 애플리케이션 수준의 데이터 공유를 제공하는 데 사용됩니다.