프로그래밍/정리노트

    정리노트: 호이스팅

    GitHub - 1nno-vator/learn-archive Contribute to 1nno-vator/learn-archive development by creating an account on GitHub. github.com 호이스팅 (22.08.13) 호이스팅은 '변수선언문', '함수선언문'이 스코프 내 최상단으로 끌어올려지는 것을 말한다. 호이스팅 되는 것은 '선언부'뿐이며, '대입부'는 끌어올려지지 않는다. var a = 1; 위와 같은 변수선언문은 인터프리터에 의해 아래와 같이 변환된다. var a; // 선언부 (선언문) a = 1; // 대입부 (대입문) 이중 호이스팅 되는 것은 선언부인 'var a' 부분이다. console.log(a); var a = 1; console.log(a)..

    정리노트: 브라우저의 렌더링 원리

    GitHub - 1nno-vator/learn-archive Contribute to 1nno-vator/learn-archive development by creating an account on GitHub. github.com 브라우저의 렌더링 원리 (22.08.13) Summary: CRP (Critical Rendering Path) 절차를 거쳐서 렌더링된다. CRP란? HTML 파싱 + DOM 트리 구축 CSS 파싱 + CSS 트리 구축 Javascript 실행 HTML 파싱 중 Javascript를 만나면, HTML 파싱이 중단된다. DOM 트리 & CSS 트리를 조합하여, Render 트리 구축 'Display: none' 과 같이 보이지않으며, 자리를 차지하지 않는 것은 Render 트리..

    정리노트: 클로져(Closure)랑 놀기

    정리노트: 클로져(Closure)랑 놀기

    자바스크립트의 기본부터 천천히 공부하고 있다. 공부한 내용을 나만의 방식대로 정리해두어야 나중에 까먹어도 쉽게 다시 이해할 수 있을 것 같아 정리했다... 로 시작했지만, 사실 이번 글은 나 혼자 클로저를 이렇게 저렇게 따라해보며 이해해가는 글에 가깝다. 어떤 개념을 배울때 나에게 가장 중요한건 나의 언어로 정리하는게 가장 중요하다. 내가 클로져를 한 마디로 정의하자면 '생성시점을 기억하는 폐쇄공간'으로 정의 할 것 같다. 클로져를 공부하다보면 스코프(Scope), 스코프 체인(Scope Chain), 실행컨텍스트(Execution Context), 어휘적 환경(Lexical Environment) 등 부수적으로 공부해야할 말들이 굉장히 많이 나온다. 때문에 클로져에 대한 정리를 하려다가 부수적인 공부도..

    정리노트: Javascript에서 this란 무엇일까?

    정리노트: Javascript에서 this란 무엇일까?

    자바스크립트의 기본부터 천천히 공부하고 있다. 공부한 내용을 나만의 방식대로 정리해두어야 나중에 까먹어도 쉽게 다시 이해할 수 있을 것 같아 정리했다. 해당 유튜브를 보고 따라하며 작성하였다. 핵심1. this는 '자신이 속한 객체를 가리키는 변수' 이다. 핵심2. this는 자신을 '호출'하는 방법에 따라 다른 값을 가리킨다. var someone = { name: 'KMS', someFunction: function() { console.log(this); } } 위와 같은 객체를 하나 만들어, 여러 케이스를 접해보며 this를 알아가보려한다. someone이라는 객체는 someFunction이라는 속성을 가지고 있으며, 이 속성엔 this를 콘솔에 찍는 함수가 담겨있다. // case 1 someo..