[챗지피티와 공부를 해보자] 이터러블(iterable)과 이터레이터(iterator) 이터러블(Iterable)반복가능(=순회할 수 있는) 객체를 말한다. (배열(Array), 문자열(String), Set, Map, arguments, NodeList)Symbol.iterator 메서드를 구현하면 해당 객체가 이터러블(iterable)로 동작할 수 있다.Symbol.iterator가 이터러블 프로토콜을 따르도록 객체를 만드는 메서드이며, 객체에 Symbol.iterator를 구현하면 해당 객체는 이터러블이 된다. 특징이터러블 순회 - for...of 루프 사용 가능이터러블을 개별 요소로 분해 - spread 연산자 (...) 사용 가능이터러블을 배열로 변환 - Array.from() 사용가..
구조분해할당 (Destructuring) 구조분해 할당은 배열이나 객체에서 특정 값을 쉽게 추출하여 변수에 할당할때 쓰는 문법이다. 배열 구조분해할당사용법은 아래와 같고, 배열에 할당된 순서대로 구조분해할당하여 추출해서 사용할 수 있다.const numbers = [1, 2, 3]; // 기존 방식 const a = numbers[0]; const b = numbers[1]; // 구조분해할당 const [x, y, z] = numbers; console.log(x, y, z); // 1 2 3 만약 특정 인덱스의 값을 넘기고 싶다면 해당하는 부분을 비워두고 콤마(,)로 넘어가면된다.const numbers = [1, 2, 3, 4, 5]; // 두 번째 값을 비워두면 건너뛰기가 가능하다const ..
실행 컨텍스트(Execution Context) 실행 컨텍스트는 코드 실행과 흐름을 관리하는 핵심 원리다.이 개념을 정확히 이해하면 스코프나 호이스팅, this, 클로저와 같은 개념을 잘 이해할 수 있다. 실행 컨텍스트는 자바스크립트 코드가 이벤트 루프로 부터 콜스택으로 이동하게 되고난 후 실행될때 생성되는 환경을 말한다. 실행 컨텍스트는 필요한 정보를 저장하고 관리하게된다. 핵심 역할코드 실행에 필요한 정보 관리변수, 함수 선언을 메모리에 저장하고 참조this 바인딩을 결정스코프와 클로저를 관리 핵심 역할 중 변수, 함수 선언을 메모리에 저장하고 참조하기 때문에 호이스팅 개념이 가능한 것이고..이때 상위 스코프의 변수, 함수선언을 참조하기 때문에 가비지컬렉터의 대상이 되지 않기 때문에 외부 함수의 실행..
이벤트 루프와 비동기 처리 + 가비지 컬렉션과의 연관 자바스크립트는 싱글 스레드 기반이다. 싱글 스레드이기 때문에 한번에 한가지 작업만 실행할 수 있다.하지만 그렇다고 한번에 한가지 작업만 하게되면? 문제가 많을것이다. (무한 대기가 생기겠지?)그렇기 때문에 브라우저나 노드 환경에서 여러 작업을 동시에 처리할 수 있도록 설계되어있는데, 이 핵심이 이벤트 루프다. 이벤트 루프란?자바스크립트의 비동기 처리를 가능하게하는 매커니즘이다. (비동기 작업은 HTTP요청이나 setTimeout 등..)비동기 작업은 나중에 실행되도록 예약하고, 이벤트 루프는 준비된 작업을 실행할 수 있도록 한다.이때 어떤 순서대로 실행을 시킬까?우리가 여기서 알아야하는 개념은 '콜스택, 태스트큐, 마이크로태스크큐' 이다. 1...
- Total
- Today
- Yesterday
- 브라우저
- JS
- html
- 타입스크립트
- 차이
- frontend
- Method
- 통신
- css
- VUE
- TypeScript
- 강의
- JavaScript
- 아티클
- 제로초
- Article
- 뷰
- 프로젝트
- 코딩애플
- jQuery
- 리액트
- 기초
- 프론트엔드
- Study
- 메서드
- 자바스크립트
- vue.js
- React
- 공부
- 제이쿼리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |