DOM Document Object Model 

: 문서 객체 모델

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

 

BOM Browser Object Model 브라우저 객체 모델

: 브라우저를 제어하기 위한 인터페이스

  • window : 모든 객체가 소속된 객체(최상위 객체)
    https://developer.mozilla.org/ko/docs/Web/API/Window
  • document : 현재 문서에 대한 정보를 가지고 있는 객체
  • history : 현재의 브라우저가 접근했던 URL history를 제어할수있음
  • location : 문서의 주소와 관련된 객체로 window 객체의 프로퍼티인 동시에 document의 프로퍼티, 문서URL 변경하며 다양한 정보를 얻을수 있음.
  • screen : 사용자의 디스플레이 화면에 대한 다양한 정보를 가지고 있는 객체
  • navigator : 실행중인 애플리케이션(브라우저)에 대한 정보를 알 수 있다. 
 

Window - Web API | MDN

Window 인터페이스는 DOM 문서를 담은 창을 나타냅니다. document 속성이 창에 불러온 DOM 문서를 가리킵니다. 반대로, 주어진 문서의 창은 document.defaultView를 사용해 접근할 수 있습니다.

developer.mozilla.org


script 로드 해결 방법 (2가지)

  • body 태그 최 하단에서 script 로드 (html 파싱 후 script 로드)
  • load 이벤트 리스너 등록 : window.onload (html 파싱 DOM생성 그리고 외부콘텐츠가 로드된 후 발생하는 이벤트)

출처 : 짐코딩의 CODING GYM

HTML5 script 로드 해결방법 (feat. defer, async)

  • defer 속성 : HTML 파싱과 함께, 비동기로 javaScript 파일을 불러온다. (일반적인 경우)

출처 : 짐코딩의 CODING GYM

  • async 속성 : HMTL 파싱과 함께, 비동기로 javaScript 파일을 불러온다. 단, script가 실행될경우 html 파싱을 중지한다.

출처 : 짐코딩의 CODING GYM

 

* 동기,비동기 설명 https://www.youtube.com/watch?v=sN4E9_u7xQk


' this ' 란 무엇인가?

대부분의 경우 this의 값은 함수를 호출한 방법에 의해 결정된다고 한다.. (this는 호출한 놈?이라고 이해하며, 호출한 행위가 없을경우 기본값으로는 window객체 라고한다.) 단, 위의 경우와 달리 아래와 같이 예외적인 상황도 존재한다. 

  1. 전역스코프에서 this는 window 객체
  2. 화살표 함수*( Arrow Function)에서는 조금 달라짐..
  3. strict Mode 에서도 this 는 조금 달라짐.

* window객체 : 브라우저에서 제공하는 전역 객체

 

default this = window 객체, 함수를 호출한적이 없을 경우 기본적으로 this는 window 객체

220906 추가내용 : 

bind()

bind() 메서드 : this를 설정할수있는 메서드 단, bind는 단 1번만 this를 설정할 수 있다.


화살표 함수(arrow function)

화살표 함수(arrow function)는 자신을 포함하고 있는 외부 Scope에서 this를 계승받는다.  (화살표 함수에서 this는 자신을 감싼 정적 범위)

화살표 함수가 나오기 전 this를 사용방식


Strict Mode

엄격모드?(Strict Mode)에서는 함수를 호출한적이 없을 경우 기본값을 window로 하지않고 undefined로 정의 한다.

 

 

 

출처 : https://www.youtube.com/c/gymcoding

 

짐코딩의 CODING GYM

실용적인 코딩채널 CODING GYM 💪🏋️‍♀️ 【짐코딩 클럽 온라인 강의 🎉】 👉 https://edu.gymcoding.co 【광고 및 제휴 문의 😙】 👉 bruce.lean17@gmail.com 【커피 한잔 후원 🙂】 👉 https://toon.at/donate

www.youtube.com

 

'Front Dev' 카테고리의 다른 글

Regular expression jsp tag 검색  (0) 2023.10.24
JS 모듈시스템 (ES모듈, CommonJS모듈)  (0) 2022.09.15
JS Prototype  (2) 2022.07.11
유사한 name값 input 태그 활용 (feat. 체크박스응용)  (0) 2022.06.10
react.js 개념정리  (0) 2021.03.04

+ Recent posts