본문 바로가기

Java Script27

[요약] Javascript에서의 Event Loop 공부한 내용을 정리한 글입니다 내용에 오류가 있거나 더 좋은 의견이 있다면 댓글로 남겨주세요. 배움에 큰 도움이 됩니다. 🖋 Javascript와 Browser 환경 Javascript는 Thread가 하나다. 그래서 콜스택에 함수가 쌓여 있다면, 스택의 함수들이 실행을 마치고 모두 제거되기 전까지는 다른 작업을 진행할 수 없다. 그러나 웹에서 Javascript가 실행되는 환경인 브라우저는 여러개의 thread를 가지고 있다. Javascript는 Event loop라는 브라우저와의 연동 장치를 통해 Web에서 제공하는 API들을 이용한다. 그래서 마치 여러개의 Thread를 가진 것처럼 동시에 여러 작업을 수행할 수 있다. Event Loop Javascript와 브라우저 간의 연동 장치이다. 콜스택.. 2023. 1. 23.
Call, back. Callback 함수 공부한 내용을 정리한 글입니다 내용에 오류가 있거나 더 좋은 의견이 있다면 댓글로 남겨주세요. 배움에 큰 도움이 됩니다. 🖋 Callback 함수 call, back. 나중에 불러줘. callback은 다른 함수에게 파라미터로 넘겨지며 자신을 부를 권리도 함께 넘겨주는 함수다. '나중에'라는 의미는 '언제 부를지'가 특정 지어지지 않은 것이다. 따라서 callback 함수는 이를 넘겨받은 함수가 넘겨 받은 즉시 실행할 수도 있고, 나중에 할 수도 있다. '불러줘'라는 말은 '나를 호출할 권한을 넘길게' 라는 말이다. callback은 이를 넘겨받은 함수에게 제어권을 넘겨준다. const takeMedicineAfterEat = (약을복용하는함수) => { console.log('식사를 한다.') 약을복용.. 2022. 12. 10.
[JavaScript] Execution Context ( 실행 컨텍스트 ) Execution Context(실행 컨텍스트) JavaScript의 핵심원리로, 실행 가능한 코드가 실행되기 위해 자기 코드 뿐만 아니라 그걸 실행하기 위한 부가적인 요소들도 함께 생성하는 것을 말한다. scope, hoisting, this, function, closure 등의 동작원리를 담고 있다. 실행 가능한 코드 아래 목록이 모두 실행 가능한 코드이지만, 일반적으로 전역 코드와 함수 내 코드를 말한다. Global code (전역 코드) : 전역 영역에 존재하는 코드 eval code : eval 함수로 실행되는 코드 Function code (함수 코드) : 함수 내에 존재하는 코드 코드를 실행하기 위해 필요한 정보 Execution Context는 실행 가능한 코드를 형상화하고 구분하는 추.. 2020. 8. 16.
[ JavaScript ] XMLHttpRequest XMLHttpRequest HTTP프로토콜은 인터넷상에서 데이터를 주고 받기 위한 Server/Client 모델을 따르는 프로토콜이다. 기본적으로 Client가 Request를 보내고 Server쪽에서 Response를 받으면 이어졌던 연결이 끊기게 되어 있어, 화면 내용을 갱신하기 위해서는 다시 request를 하고 response를 하면서 페이지 전체를 갱신하게 된다. 이는 페이지의 일부분만 갱신할 경우에도 마찬가지어서, 글자 하나를 바꾸는 경우에도 페이지 전체를 다시 로드하여 메모리 자원을 낭비하고, 혹여 response가 늦어질 경우 사용자가 일시적으로 통째로 빈 화면을 마주하게 된다. XMLHttpRequest는 이렇게 마음 아픈 일이 생기지 않도록 JavaScript로 HTTP 요청을 하는 브.. 2020. 8. 4.
[JavaScript] Map과 Set 객체(Object)는 key가 있는 컬렉션을 저장하고, 배열(Array)은 index가 있는 컬렉션을 저장한다. Map과 Set은 기존의 객체, 배열보다 현실세계를 더 정밀하게 반영하기 위해 등장하였다. Map key - value 한 쌍으로 이루어진 컬렉션이다. 특징 충돌하지 않는 고유한 key값을 갖는다. 모든 key를 string으로 변환하는 객체와 달리 string 이외에 object, function 등을 key값으로 사용할 수 있다. 넣은 순서대로 key를 순회한다. 순서의 재정렬은 불가능하다. 'size'를 통해 손 쉽게 항목 수를 알 수 있다. key - value 의 추가가 제거가 자주 일어날 때 사용하면 좋다. for..of / forEach로 순회할 수 있다. let map = new.. 2020. 8. 3.