티스토리 뷰
https://poiemaweb.com/es6-iteration-for-of
-ES6에서 도입된 이터레이션 프로토콜(iteration protocol)은 데이터 컬렉션을 순회하기 위한 프로토콜(미리 약속된 규칙)이다.
- iterable은? iterable 프로토톨을 준수한 객체 -> Symbol.iterator 메소드를 구현하거나 프로토타입 체인에 의해 상속한 객체를 말한다. Symbol.iterator 메소드는 이터레이터를 반환한다.
- iterable한 객체는 spread 문법(...) 을 사용 할 수 있고, for of 문을 사용해 순회 할 수 있다.
- 배열은 Symbol.iterator 메소드를 소유한다. 따라서 배열은 이터러블 프로토콜을 준수한 이터러블이다.
- 배열[Symbol.iterator]() 사용시 return 한 iterator 객체는 next() 메서드를 가지고 있으며 iterable하다. (제네레이터도 포함)
일반 객체는 Symbol.iterator 메소드를 소유하지 않는다. 따라서 일반 객체는 이터러블 프로토콜을 준수한 이터러블이 아니다.
- iterator의 next() value, done 프로퍼티를 갖는 이터레이터 리절트 객체를 반환.(제네레이터에서 yield로 구현 가능)
- 문자열도 이터러블 이다! argment 객체 역시 iterable이다.
- 이터러블은 데이터 공급자(Data provider)의 역할을 한다.
- 즉, 이터레이션 프로토콜은 다양한 데이터 소스가 하나의 순회 방식을 갖도록 규정하여 데이터 소비자가 효율적으로 다양한 데이터 소스를 사용할 수 있도록 데이터 소비자와 데이터 소스를 연결하는 인터페이스의 역할을 한다.
- 이터러블 하면서 이터레이터 이다? Symbol.iterator 메서드를 가지고 있으면서(이터러블), next() 메서드를 가지고 있다. (이터레이터)
- Total
- Today
- Yesterday
- react 3d 에니메이션
- ts glsl
- next.js glsl
- react leva
- react 3d text
- attempted import error: bvh_struct_definitions' is not exported from './gpu/bvhshaderglsl.js' (imported as 'bvhshaderglsl').
- react fiber 3d
- react three fiber leva
- react 3d animation
- eslint
- typescript gsls
- 카카오 카드 짝 맞추기 javascript
- Vue.js
- 카카오 카드 짝 맞추기 자바스크립트
- rollup ts react npm
- 카카오 2021 카드 짝 맞추기
- leva
- react 3d
- next.js import glsl
- 카드 짝 맞추기 자바스크립트
- three.js leva
- rollup typescript
- vue
- 카드 짝 맞추기 javascript
- react glsl
- webpack glsl
- rollup typescript react
- vue3
- rollup react.js npm
- react three fiber
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |