실행 컨텍스트(Execution Context) 실행 컨텍스트는 코드 실행과 흐름을 관리하는 핵심 원리다.이 개념을 정확히 이해하면 스코프나 호이스팅, this, 클로저와 같은 개념을 잘 이해할 수 있다. 실행 컨텍스트는 자바스크립트 코드가 이벤트 루프로 부터 콜스택으로 이동하게 되고난 후 실행될때 생성되는 환경을 말한다. 실행 컨텍스트는 필요한 정보를 저장하고 관리하게된다. 핵심 역할코드 실행에 필요한 정보 관리변수, 함수 선언을 메모리에 저장하고 참조this 바인딩을 결정스코프와 클로저를 관리 핵심 역할 중 변수, 함수 선언을 메모리에 저장하고 참조하기 때문에 호이스팅 개념이 가능한 것이고..이때 상위 스코프의 변수, 함수선언을 참조하기 때문에 가비지컬렉터의 대상이 되지 않기 때문에 외부 함수의 실행..
[챗지피티와 공부를 해보자] 02. 이벤트 루프와 비동기 처리 + 가비지 컬렉션과의 연관 자바스크립트는 싱글 스레드 기반이다. 싱글 스레드이기 때문에 한번에 한가지 작업만 실행할 수 있다.하지만 그렇다고 한번에 한가지 작업만 하게되면? 문제가 많을것이다. (무한 대기가 생기겠지?)그렇기 때문에 브라우저나 노드 환경에서 여러 작업을 동시에 처리할 수 있도록 설계되어있는데, 이 핵심이 이벤트 루프다. 이벤트 루프란?자바스크립트의 비동기 처리를 가능하게하는 매커니즘이다. (비동기 작업은 HTTP요청이나 setTimeout 등..)비동기 작업은 나중에 실행되도록 예약하고, 이벤트 루프는 준비된 작업을 실행할 수 있도록 한다.이때 어떤 순서대로 실행을 시킬까?우리가 여기서 알아야하는 개념은 '콜스택, 태스트..
자바스크립트에서 함수가 선언된 렉시컬 스코프를 기억하고, 그 스코프 밖에서도 해당 스코프에 접근할 수 있는 함수(개념)를 말한다. 함수와 그 함수가 선언된 환경을 함께 묶은 개념으로 내부 함수가 외부 함수의 변수에 접근하거나 저장된 값을 유지할 수 있는 특성을 제공한다. 주요 특징 간단히 요약1. 변수 접근: 내부 함수가 외부 함수의 변수에 접근할 수 있다.2. 변수 유지: 외부 함수 실행이 종료되어도 내부 함수는 외부 함수의 변수를 참조한다.3. 데이터 은닉: 클로저를 사용하여 데이터를 외부에서 직접 접근할 수 없도록 보호할 수 있다. 예시function 외부함수(외부매개변수) { return function 내부함수(내부매개변수) { console.log(`외부함수: ${외부매개..
공부 하려고할때 뭐부터 해야하지??? 고민할 시간에 챗지피티 도움을 받아보자. 질문은 아래와 같이 했다. 안녕 난 javascript 개념 공부를 해보려고해. 일단 js 기초, 중급, 고급 개념 공부를 하려는데 세개를 나눠서 주제 알려줘. 최대한 많이 알려줘. 또한 세개의 총 갯수를 맞출 필요는 없어. 내용은 나중에 공부할거니까 꼭 주제만 알려줘.포맷은 아래와 같이 맞춰줘총 n개 '개념, 개념, 개념, 개념' 디테일하게 질문안하면 허탕친다. 나도 그래서 여러번 질문했다.그리고 사실 처음에 질문했던거랑 답변이 달라서, 주제에 차이가 좀 있는것 같으니 처음 질문이랑 지금 질문의 주제를 둘 다 공부해야겠다. 위 질문에 대한 챗지피티의 답변JavaScript 기초 개념총 30개변수 선언(var, le..
Astro 프레임워크 체험기 챗 지피티에게 물어본 Astro의 주요 특징1. 멀티 프레임워크 지원: Astro는 React, Vue, Svelte, Solid.js 등 다양한 프론트엔드 프레임워크의 컴포넌트를 한 프로젝트에서 함께 사용할 수 있습니다.2. Partial Hydration (부분 하이드레이션): Astro는 기본적으로 정적 HTML을 생성하며, 필요한 부분만 JavaScript로 하이드레이션(동적으로 활성화)하여 클라이언트에서 실행합니다.이를 통해 JavaScript 로딩을 최소화하고 페이지 로드 속도를 최적화합니다.3. 파일 기반 라우팅: 파일 구조를 기반으로 라우팅을 자동으로 처리합니다.4. 빠른 빌드와 최적화: Vite를 기반으로 하여 빌드 속도가 매우 빠릅니다. 정적 HTML을 우선..
[구글 Apps Script] 구글 캘린더, 멤버들 특정 일정 모아보기 캘린더 만들기 사전작업모아보기 캘린더 작업할 소유자(나)에게 각 팀원의 캘린더 공유 (모든일정보기)가 되어있어야한다.(내가 공유받은 팀원의 캘린더로 부터 일정을 긁어오기 때문에) 캘린더 공유 방법구글 캘린더에서 캘린더 우측 (1) 옵션 버튼 > (2) 설정 및 공유 > 설정 페이지에서 (3) 일정의 액세스 권한' 항목 [공개 사용 설정] 에서 소유자에게 공개 > (4) 모아보기(공유) 캘린더 만들기이때 모두 공개는 보안적으로 좋지 않으므로 소유자에게만 따로 공개하기, 공유 가능한 링크 받기 기능이나 '특정 사용자 또는 그룹과 공유'를 통해 소유자에게 공개해야함 모아보기 캘린더 추가 절차는, 구글 캘린더 화면에서 (1) 다른 캘린더 ..
- Total
- Today
- Yesterday
- jQuery
- 리액트
- frontend
- JS
- JavaScript
- TypeScript
- 타입스크립트
- 공부
- html
- 아티클
- 브라우저
- 강의
- 차이
- vue.js
- VUE
- Article
- Study
- 통신
- 프로젝트
- css
- 메서드
- React
- 제이쿼리
- Method
- 프론트엔드
- 기초
- 자바스크립트
- 코딩애플
- 제로초
- 뷰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |