분류 전체보기 97

호이스팅_민희

호이스팅 함수 안에 있는 선언들을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 말한다. 자바스크립트 함수는 실행되기 전에 함수 안에 필요한 변수값들을 모두 모아서 유효 범위의 최상단에 선언한다. 자바스크립트 Parser가 함수 실행 전 해당 함수를 한 번 훑는다. 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 실행시킨다. 유효 범위: 함수 블록 {} 안에서 유효 즉, 함수 내에서 아래쪽에 존재하는 내용 중 필요한 값들을 끌어올리는 것이다. (코드를 실행하기 전 변수선언/함수선언을 해당 스코프의 최상단으로 끌어올리는 것이 아니며, 끌어 올려진 것 같은 현상을 말한다. 자바스크립트 Parser 내부적으로 끌어올려서 처리하는 것이다. 실제 메모리에서는 변화는 없다.) 이 호..

CS/프로그래밍 2023.06.19

호이스팅 /Edited by.혜경

호이스팅이란? 호이스팅은 변수나 함수 선언을 코드 상단으로 끌어올리는 동작을 말한다. case 1. 변수 호이스팅 Var vs Let & Const Var var는 선언과 초기화가 동시에 일어나면서(선언과 초기화가 분리되지 못하기 때문) 호이스팅이 발생한다. 함수에 쓰인 것 말고도 for + if문에 쓰인 것도 올라간다. var a 로 선언할 때 undefind로 기본값이 초기화 된다. console.log(호이스팅); // undefind console.log(i); // undefind var 호이스팅 = '호이스팅' console.log(호이스팅); // 호이스팅 for (var i = 0; i < 10; i++) {...} let & const 선언에는 호이스팅이 발생하지만 초기화는 호이스팅이 되..

CS/프로그래밍 2023.06.19

브라우저 렌더링 원리 /edited by.혜경

아래의 글은 여러 좋은 글들을 발췌해 모아 편집한 내용입니다. 발췌의 출처는 제일 하단에 모아놓았습니다. 렌더링 엔진 렌더링 엔진은 HTML, XML, 이미지 등 요청받은 내용을 브라우저 화면에 표시하는 엔진이다. 브라우저는 서버로부터 HTML 문서를 응답받으면 렌더링 엔진의 HTML 파서와 CSS 파서에 의해 파싱되어 DOM, CSSOM 트리로 변환되고 렌더 트리로 결합한다. 이렇게 생성된 렌더 트리를 기반으로 브라우저는 웹 페이지를 나타낸다. ➕ 웹킷(WebKit)이란? 브라우저 렌더링 엔진의 일종. 웹 브라우저를 만드는 데 기반을 제공하는 오픈 소스 응용 프로그램 프레임워크. 각 브라우저마다 렌더링 엔진이 다르기 때문에 같은 페이지가 다르게 보이는 경우가 있다. 접두어로 붙는 css속성으로 브라우저..

CS/브라우저 2023.06.18

호이스팅 - 이도영

호이스팅(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