CS 94

호이스팅 - 이도영

호이스팅(Hoisting)이란 JS에서 변수와 함수 선언을 해당 스코프의 상단으로 끌어올리는 동작을 의미한다. 즉 코드가 실행 전에 변수와 함수 선언문이 메모리에 먼저 등록되는 것처럼 동작한다. JS엔진은 코드를 실행하기 전에 컴파일 단계에서 변수와 함수 선언을 찾아 메모리에 저장한다. 이로 인해 변수와 함수를 선언하기 전에도 해당 변수와 함수를 참조할 수 있는 현상이 발생된다. 호이스팅 중 두가지가 있다. 함수 호이스팅과 변수 호이스팅 함수 호이스팅이란 ? JS에서 함수 선언문이나 함수 표현식을 코드 상단으로 끌어올리는 동작이다. 즉 함수를 선언하기 전에 해당 함수를 호출하는 현상 함수 선언문 sayHello(); // 호출 가능 function sayHello() { console.log("Hello..

CS/프로그래밍 2023.06.18

호이스팅

[ 호이스팅 ] 코드가 런타임 이전 변수선언/함수선언이 해당 스코프의 최상단으로 끌어올려진 것 같은 현상을 말함 호이스팅은 변수 정보 수집 과정을 이해하기 쉽게 설명한 가상 개념(실제로는 그렇진 않더라도 사람이 이해하기 쉬운 말로 풀어 표현한 것) 해당 스코프에서 최상단으로 끌어올리는 것이기 때문에 함수 내에서 변수가 선언되었다면 함수 최상단으로, 전역 컨텍스트에서 변수가 선언되었다면 전역 컨텍스트 최상단으로 끌어올려짐 호이스팅이라는 용어가 ‘선언이 먼저 메모리에 저장되었다.’는 것을 의미함 자바스크립트의 모든 선언에는 호이스팅이 일어남 호이스팅이 파일의 맨 위로 끌어올려진 것 같은 현상을 의미할 때 선언문 이전에 참조해서 에러(ex. ReferenceError)를 발생시킨다고 호이스팅이 일어나지 않은 ..

CS/프로그래밍 2023.06.18

브라우저 렌더링 - 이도영

브라우저 렌더링 브라우저 렌더링이란? 웹페이지를 HTML, CSS, JS 등의 웹 리소스를 파싱하고 처리, 렌더링을 통해 브라우저를 유저들에게 시각적으로 보여주는 과정이다. 브라우저 렌더링 방법 1. CSR(Client Side Rendering) 클라이언트 영역에서 렌더링을 수행하는 방식이다.사용자가 웹브라우저를 통해서 웹사이트에 방문 했을 때 웹사이트에서 제공하는 웹페이지에 대한 HTML, CSS, JavaScript와 같은 리소스들을 클라이언트 단에서 다운로드 받고 브라우저에서 페이지 전환을 처리하여 보여주는 방식이다. CSR rendering 방식에서 서버의 역할은 페이지가 그려질 때 웹리소스 파일을 제공하는 역할과 페이지가 모두 로딩이 되었을 때 클라이언트에서 요청하는 데이터를 전송해주는 역할..

CS/브라우저 2023.06.18

브라우저와 렌더링에 대하여

[ 브라우저 ] 브라우저는 우리 접속하는 크롬, 사파리, 파이어폭스 등을 말함 브라우저는 웹에서 페이지를 검색하고 표시하며 사용자가 하이퍼링크를 통해 추가 페이지에 접근할 수 있도록 하는 프로그램임. 웹 브라우저는 동기적으로 HTML, CSS, JS 언어를 해석하여 내용을 화면에 보여주는 응용 소프트웨어(소프트웨어는 컴퓨터를 비롯한 시스템에서 특정 작업을 수행하게 하는 프로그램의 집합) 동기적으로 하는 이유는 DOM 트리가 완성되기 전에 script가 DOM을 조작하면 에러가 발생하게 되고, 화면에는 우선적으로 HTML 요소들로 이루어진 레이아웃 화면이 렌더링 되고, 그 다음에 script를 읽어서 사용자와 상호작용하는 순서로 이루어지기 때문임 브라우저는 유저가 선택한 자원을 서버로 부터 받아와서 유저에..

CS/브라우저 2023.06.18