![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/pVeZ5/btsL5s4byMc/ArRX9DyUX3hcnu5oRh9Zdk/img.png)
[챗지피티와 공부를 해보자] 이터러블(iterable)과 이터레이터(iterator) 이터러블(Iterable)반복가능(=순회할 수 있는) 객체를 말한다. (배열(Array), 문자열(String), Set, Map, arguments, NodeList)Symbol.iterator 메서드를 구현하면 해당 객체가 이터러블(iterable)로 동작할 수 있다.Symbol.iterator가 이터러블 프로토콜을 따르도록 객체를 만드는 메서드이며, 객체에 Symbol.iterator를 구현하면 해당 객체는 이터러블이 된다. 특징이터러블 순회 - for...of 루프 사용 가능이터러블을 개별 요소로 분해 - spread 연산자 (...) 사용 가능이터러블을 배열로 변환 - Array.from() 사용가..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/V7cN8/btsL3ZGGceW/vLkvp6D7zhvZ8xvxljcoz1/img.png)
실행 컨텍스트(Execution Context) 실행 컨텍스트는 코드 실행과 흐름을 관리하는 핵심 원리다.이 개념을 정확히 이해하면 스코프나 호이스팅, this, 클로저와 같은 개념을 잘 이해할 수 있다. 실행 컨텍스트는 자바스크립트 코드가 이벤트 루프로 부터 콜스택으로 이동하게 되고난 후 실행될때 생성되는 환경을 말한다. 실행 컨텍스트는 필요한 정보를 저장하고 관리하게된다. 핵심 역할코드 실행에 필요한 정보 관리변수, 함수 선언을 메모리에 저장하고 참조this 바인딩을 결정스코프와 클로저를 관리 핵심 역할 중 변수, 함수 선언을 메모리에 저장하고 참조하기 때문에 호이스팅 개념이 가능한 것이고..이때 상위 스코프의 변수, 함수선언을 참조하기 때문에 가비지컬렉터의 대상이 되지 않기 때문에 외부 함수의 실행..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c8zzZm/btsLYtvoldS/50vrrwhH88DEcMoMmCncWk/img.png)
이벤트 루프와 비동기 처리 + 가비지 컬렉션과의 연관 자바스크립트는 싱글 스레드 기반이다. 싱글 스레드이기 때문에 한번에 한가지 작업만 실행할 수 있다.하지만 그렇다고 한번에 한가지 작업만 하게되면? 문제가 많을것이다. (무한 대기가 생기겠지?)그렇기 때문에 브라우저나 노드 환경에서 여러 작업을 동시에 처리할 수 있도록 설계되어있는데, 이 핵심이 이벤트 루프다. 이벤트 루프란?자바스크립트의 비동기 처리를 가능하게하는 매커니즘이다. (비동기 작업은 HTTP요청이나 setTimeout 등..)비동기 작업은 나중에 실행되도록 예약하고, 이벤트 루프는 준비된 작업을 실행할 수 있도록 한다.이때 어떤 순서대로 실행을 시킬까?우리가 여기서 알아야하는 개념은 '콜스택, 태스트큐, 마이크로태스크큐' 이다. 1...
자바스크립트에서 함수가 선언된 렉시컬 스코프를 기억하고, 그 스코프 밖에서도 해당 스코프에 접근할 수 있는 함수(개념)를 말한다. 함수와 그 함수가 선언된 환경을 함께 묶은 개념으로 내부 함수가 외부 함수의 변수에 접근하거나 저장된 값을 유지할 수 있는 특성을 제공한다. 주요 특징 간단히 요약1. 변수 접근: 내부 함수가 외부 함수의 변수에 접근할 수 있다.2. 변수 유지: 외부 함수 실행이 종료되어도 내부 함수는 외부 함수의 변수를 참조한다.3. 데이터 은닉: 클로저를 사용하여 데이터를 외부에서 직접 접근할 수 없도록 보호할 수 있다. 예시function 외부함수(외부매개변수) { return function 내부함수(내부매개변수) { console.log(`외부함수: ${외부매개..
- Total
- Today
- Yesterday
- 코딩애플
- frontend
- 차이
- 기초
- 공부
- Article
- JS
- 브라우저
- jQuery
- Method
- 리액트
- css
- 메서드
- 자바스크립트
- 통신
- JavaScript
- 제이쿼리
- 타입스크립트
- TypeScript
- VUE
- 강의
- React
- vue.js
- 프론트엔드
- html
- Study
- 제로초
- 프로젝트
- 아티클
- 뷰
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |