TIL(Today I Learned)

[TIL] 2023.2.1

Cafe Mocha 2023. 2. 1. 17:32

벌써 한달이 지나고 2월이다!

이제 네트워크를 끝내고 프론트엔드 면접준비를 시작했다!

2월이 지나면 공채, 데브매칭 등 바빠지니까 지금 더 마음을 잡고 열심히 공부하자!!

 

호이스팅(hoisting)이란?

  • 호이스팅이란 “끌어올린다”라는 뜻으로 변수 및 함수 선언문이 스코프 내의 최상단으로 끌어올려지는 현상을 말합니다. 여기서 “선언(Declaration)”은 끌어올려지고 “할당(Assignment)”은 끌어올려지지 않습니다.
  • 모범답안
    실행 컨텍스트 생성 시 렉시컬 스코프 내의 선언이 끌어올려 지는 게 호이스팅입니다.
  • 정답할당 구문은 런타임 과정에서 이뤄진다.
    • 함수와 변수 선언문 중에서는 함수 선언문이 먼저다!
func();
var func = function(){ console.log('변수 호이스팅') }
function func() {
  console.log('함수 호이스팅');
}

// 함수 호이스팅

Reflow와 Repaint가 실행되는 시점

Reflow

Reflow는 렌더 트리를 재생성하는 과정이다.(레이아웃 변경) 

  • DOM 엘리먼트 추가,제거 또는 변경
  • CSS 스타일 추가, 제거 또는 변경
  • CSS 스타일을 직접 변경하거나, 클래스를 추가함으로써 레이아웃이 변경될 수 있다.
  • CSS3 애니메이션과 트랜지션, 애니메이션의 모든 프레임에서 리플로우 발생
  • offsetWidth와 offsetHeight 의 사용
  • 유저 행동, 인터랙션으로 발생하는 hover 효과, 필드에 텍스트 입력 등 

Repaint

Reflow 과정이 끝난 후 재 생성된 렌더 트리를 다시 그리는 과정

  • 가시성이 변경되는 순간 (opacity, background-color, visibility, outline 등)
  • Reflow가 실행된 순간 뒤에 실행

 

[baekjoon] 12869 뮤탈리스크 (Javascript)

12869번: 뮤탈리스크 (acmicpc.net) 12869번: 뮤탈리스크 1, 3, 2 순서대로 공격을 하면, 남은 체력은 (12-9, 10-1, 4-3) = (3, 9, 1)이다. 2, 1, 3 순서대로 공격을 하면, 남은 체력은 (0, 0, 0)이다. www.acmicpc.net 알고

mocha-blog.tistory.com