개발일지

20240110_TIL 13일차

비장한기린 2024. 1. 11. 08:41

[1] TIL

  1. 개인 과제 피드백

   (1) 파싱

     1) html 엔진 : 파서

     2) 파싱 : 위에서부터 아래로 쭉 읽는 것

     3) DOM Tree가 만들어진 후 Javascript로 html을 제어할 수 있음.

     4) 제어권  

      a. Html 파서 -> download > JS engine 제어권 얻음.

      b. 초기에 null -> html 파서 제어권 되찾고 -> DOM tree

      

    (2) semantic tag

      1) semantic : 의미론적인

      2) 검색 엔진이문서를 쉽게 분석하려면 쉬운 태그로 코드 작성

       a. snake case : all_movie_list  => 파이썬

       b. camel case : allMovieList    => Javascript 

       c. kebab case : all-movie-list  => css  

   

     (3) event

       1) onclick : eventhandler attribute 방식으로 할당

         a.  [메모리 측면]  onclick <<< event handler : addEventListener

           => 한 번만 써주면 되기 때문에

       2) 이벤트 위임 :하위 요소에서 발생한 이벤트를 상위 요소에서 대신 처리

        a. 이벤트 전파가 위에서부터 내려옴

        b. Target phase에서 event handler를 처리함 

        c. event bubbling : 이벤트 전파

          Event-phase : 1, 2, 3

          1 : capturing

          2 : target phase에서 targeting

          3 : bubbling

        3)  addeventhandler의 요소

         a. event-type

         b. eventhandler 함수

         c. capturing 여부 : boolean => bubbling을 capture해서 eventhandler를 실행시킬 것인지 

               Yes => true, No => false

         d. event.target : 이벤트가 발생한 요소

            event.curretTarget : 이벤트 핸들러가 등록되어있는 상위 요소

 

      (4) 기타 기본적인 요소

        1) reduce(callback 함수, “” )

           “” : 누적값의 초기값

        2) filter : true or false boolean type 

        3) 삼항연산자 : if 문을 간단하게 표현

        4) .focus : 깜빡깜빡거리는 method

        5) innerHTML : 문자열

        6) .join : 배열을 문자열로 만들어주는 method

        7) form 태그

         -  submit event가 발생하면 기본적으로 새로고침이 발생함.

         -  event.preventDefault()로 새로고침을 막아줌

         -  Default : 기본 동작

        8) async : 항상 promise 반환

         - 함수는 언제나 return 값이 있음. 없으면 undefined

         - await 뒤에도 항상 promise