본문 바로가기

30

function* function* 선언은 generator function을 정의 하는데 이 함수는 Generator 객체 (Object [Generator] {}) 를 반환합니다. Generator함수는 호출되어도 즉시 실행되지 않고 Iterator 객체를 반환하는데 이때 Iterator객체에 next() 메서드를 이용해서 호출하면 Generator 함수가 실행되어 yield문이 있는 곳까지 진행되고 yield문은 반환값 value 속성과 Generator함수 안의 모든 yield문의 실행 여부를 표시하는 boolean타입 done 을 반환합니다. function* foo(){ // generator 함수 var index = 0; while(index 2022. 8. 23.
클로저 클로저란? 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 변수의 유효 범위가 어떻게 작용하는지 이해하기 쉽다 예제로 아래와 같이 코드를 실행하면 displayName()에 console.log()를 통해 콘솔창에서 meno라는 글을 볼 수 있을 것이다. 이를 통해 함수가 중첩된 상황에서 변수를 어디에서 어디까지 사용할 수 있는지를 볼 수 있다. function init(){ const name = "meno"; function displayName(){ console.log(name); } displayName(); } init(); 이와 같이 함수와 함수의 선언 위치를 이용한 클로저, 이것을 이용해 변수의 유효 범위를 이용해 데이터를 조작하는 곳에서 용의함을 가질 수 있다. 출처: https:.. 2022. 7. 1.
호이스팅 호이스팅이란? JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. 변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상단으로 옮기는 것 즉, 변수를 정의하는(선언, 초기화)를 하는 코드보다 이 코드를 사용하는 함수나 다른 코드가 윗줄에 작성되어도 실행됨을 말한다. 단, var로 선언한 경우 undefined로 변수를 초기화 하지만 let과 const로 선언한 경우 변수의 초기화가 일어나지 않는다. - 참고자료: https://developer.mozilla.org/ko/docs/Glossary/Hoisting 2022. 6. 28.
브라우저 렌더링 브라우저란? 브라우저 인터넷에 올라와있는 웹페이지를 보여주는 도구로 Chrome, FireFox, Safari, Microsoft Edge 등이 있다. 그러면 이 웹페이지를 보여주기 위해서는 렌더링이라는 과정을 통해서 웹페이지를 보여주게 되는데 렌더링 과정은 다음과 같다. html과 css 문서를 파싱하여 DOM의 형태로 만들다 DOM을 렌더를 위한 트리로 구축한다. 만들어진 트리에 있는 각가의 노드들이 가지고 있는 면적, 위치를 고려하여 배치해준다. 배치된 트리의 노드에 위에서부터 아래로 Style(html 돔, css 돔)을 입혀준다. Style을 입혀준 결과를 화면에 표시한다. 이렇게 브라우저에서 우리가 보고자 하는 url을 입력했을때 그 url이 가리키는 리소스를 서버에서 가져와서 화면에 렌더링을.. 2022. 6. 27.