Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
HJ
Uploaded by
Han JaeYeab
62 views
[ES6] 9. Iterator
ECMAScript2015 강의 자료입니다.
Technology
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 12
2
/ 12
3
/ 12
4
/ 12
5
/ 12
6
/ 12
7
/ 12
8
/ 12
9
/ 12
10
/ 12
11
/ 12
12
/ 12
More Related Content
PPTX
ES6-02
by
ChangHyeon Bae
PDF
2.Startup JavaScript - 연산자
by
Circulus
PPTX
Startup JavaScript 6 - 함수, 스코프, 클로저
by
Circulus
PPTX
Startup JavaScript 5 - 객체(Date, RegExp, Object, Global)
by
Circulus
PPTX
Startup JavaScript 4 - 객체
by
Circulus
PPTX
Startup JavaScript 3 - 조건문, 반복문, 예외처리
by
Circulus
PDF
8 swift 중첩함수
by
Changwon National University
PDF
Swift3 typecasting nested_type
by
Eunjoo Im
ES6-02
by
ChangHyeon Bae
2.Startup JavaScript - 연산자
by
Circulus
Startup JavaScript 6 - 함수, 스코프, 클로저
by
Circulus
Startup JavaScript 5 - 객체(Date, RegExp, Object, Global)
by
Circulus
Startup JavaScript 4 - 객체
by
Circulus
Startup JavaScript 3 - 조건문, 반복문, 예외처리
by
Circulus
8 swift 중첩함수
by
Changwon National University
Swift3 typecasting nested_type
by
Eunjoo Im
What's hot
PDF
RPG Maker와 Ruby로 코딩 시작하기 Day 3
by
Sunwoo Park
PDF
[Swift] Functions
by
Bill Kim
PPTX
포트폴리오에서 사용한 모던 C++
by
KWANGIL KIM
PDF
Swift3 subscript inheritance initialization
by
Eunjoo Im
PDF
5 swift 기초함수
by
Changwon National University
PDF
Realm.io for iOS
by
Eunjoo Im
PDF
Swift3 generic
by
Eunjoo Im
PPTX
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
by
MIN SEOK KOO
PDF
[C++ Korea 2nd Seminar] C++17 Key Features Summary
by
Chris Ohk
PDF
Javascript hoisting
by
Ohgyun Ahn
PPTX
골때리는 자바스크립트 발표자료
by
욱진 양
PDF
Do swift: Swift 무작정 해보기
by
YoonBong Steve Kim
PPTX
C++11
by
선협 이
PPTX
이것이 자바다 Chap.14 람다식 Lambda expression(java)(KOR)
by
MIN SEOK KOO
PPTX
자바스크립트 함수
by
유진 변
PDF
스위프트 성능 이해하기
by
Yongha Yoo
PDF
Haskell study 13
by
Nam Hyeonuk
PDF
Haskell study 5
by
Nam Hyeonuk
PDF
Javascript 교육자료 pdf
by
Hyosang Hong
PPTX
Lua 문법
by
Jaehoon Lee
RPG Maker와 Ruby로 코딩 시작하기 Day 3
by
Sunwoo Park
[Swift] Functions
by
Bill Kim
포트폴리오에서 사용한 모던 C++
by
KWANGIL KIM
Swift3 subscript inheritance initialization
by
Eunjoo Im
5 swift 기초함수
by
Changwon National University
Realm.io for iOS
by
Eunjoo Im
Swift3 generic
by
Eunjoo Im
이것이 자바다 Chap.11 기본 API 클래스(java)(KOR)
by
MIN SEOK KOO
[C++ Korea 2nd Seminar] C++17 Key Features Summary
by
Chris Ohk
Javascript hoisting
by
Ohgyun Ahn
골때리는 자바스크립트 발표자료
by
욱진 양
Do swift: Swift 무작정 해보기
by
YoonBong Steve Kim
C++11
by
선협 이
이것이 자바다 Chap.14 람다식 Lambda expression(java)(KOR)
by
MIN SEOK KOO
자바스크립트 함수
by
유진 변
스위프트 성능 이해하기
by
Yongha Yoo
Haskell study 13
by
Nam Hyeonuk
Haskell study 5
by
Nam Hyeonuk
Javascript 교육자료 pdf
by
Hyosang Hong
Lua 문법
by
Jaehoon Lee
Similar to [ES6] 9. Iterator
PDF
[ES6] 3. iteration
by
Han JaeYeab
PDF
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
by
NAVER D2
PPTX
Functional programming
by
ssuserdcfefa
PDF
Ruby Enumerator(루비 열거자) 이해하기
by
Daegwon Kim
PDF
[ES6] 12. Array
by
Han JaeYeab
PDF
[Swift] Iterator
by
Bill Kim
PPTX
Seed2016 - 개미수열 한주영 (annotated)
by
Jooyung Han
PDF
14 2 iterator
by
Changwon National University
PDF
Es2015 Simple Overview
by
Kim Hunmin
PDF
[ES6] 10. Generator
by
Han JaeYeab
[ES6] 3. iteration
by
Han JaeYeab
[D2 COMMUNITY] ECMAScript 2015 S67 seminar - 1. primitive
by
NAVER D2
Functional programming
by
ssuserdcfefa
Ruby Enumerator(루비 열거자) 이해하기
by
Daegwon Kim
[ES6] 12. Array
by
Han JaeYeab
[Swift] Iterator
by
Bill Kim
Seed2016 - 개미수열 한주영 (annotated)
by
Jooyung Han
14 2 iterator
by
Changwon National University
Es2015 Simple Overview
by
Kim Hunmin
[ES6] 10. Generator
by
Han JaeYeab
More from Han JaeYeab
PDF
07. type system
by
Han JaeYeab
PDF
06. decorator
by
Han JaeYeab
PDF
05. generics in typescript
by
Han JaeYeab
PDF
04. interface in typescript
by
Han JaeYeab
PDF
03. function in typescript
by
Han JaeYeab
PDF
02. class in typescript
by
Han JaeYeab
PDF
01. basic types
by
Han JaeYeab
PDF
intro. typescript playground
by
Han JaeYeab
PDF
[ES6] 11. Modularization, import와 export
by
Han JaeYeab
PDF
[ES6] 8. Symbol
by
Han JaeYeab
PDF
[ES6] 7. Template literal
by
Han JaeYeab
PDF
[ES6] 6. Class
by
Han JaeYeab
PDF
[ES6] 5. Destructuring
by
Han JaeYeab
PDF
[ES6] 4. Spread, Rest parameter
by
Han JaeYeab
PDF
[ES6] 2. arrow function
by
Han JaeYeab
PDF
[ES6] 1. let과 const
by
Han JaeYeab
PDF
클라우드 컴퓨팅에 대한 기본적인 이해
by
Han JaeYeab
07. type system
by
Han JaeYeab
06. decorator
by
Han JaeYeab
05. generics in typescript
by
Han JaeYeab
04. interface in typescript
by
Han JaeYeab
03. function in typescript
by
Han JaeYeab
02. class in typescript
by
Han JaeYeab
01. basic types
by
Han JaeYeab
intro. typescript playground
by
Han JaeYeab
[ES6] 11. Modularization, import와 export
by
Han JaeYeab
[ES6] 8. Symbol
by
Han JaeYeab
[ES6] 7. Template literal
by
Han JaeYeab
[ES6] 6. Class
by
Han JaeYeab
[ES6] 5. Destructuring
by
Han JaeYeab
[ES6] 4. Spread, Rest parameter
by
Han JaeYeab
[ES6] 2. arrow function
by
Han JaeYeab
[ES6] 1. let과 const
by
Han JaeYeab
클라우드 컴퓨팅에 대한 기본적인 이해
by
Han JaeYeab
[ES6] 9. Iterator
1.
ECMAScript 2015 by jbee
2.
[ES6] 9. Iterator
3.
Iterator iterator 는순회가능한값들의 시퀀스 를만드는방법을정의한다. 대표적인순회가능한것은 Array 다. Array 오브젝트는 Symbol.iterator 를가지고 있다. let
arr = [1, 2, 3]; console.log(typeof arr[Symbol.iterator]);// function
4.
next 위예제코드에서정의한 arr 의 iterator 를추출하여 arr 를순회할수 있다. let iterator =
arr[Symbol.iterator](); console.log(iterator.next());// {value: 1, done: false} console.log(iterator.next());// {value: 2, done: false} console.log(iterator.next());// {value: 3, done: false} console.log(iterator.next());// {value: undefined, done: true}
5.
value, done iterator 를추출하자마자 head (공식용어는아니고 설명을위한용어)는 배열의시작점을가리키게
된다.(첫원소를가리키는것이아니다.) 그 상태에 서 next() 메소드를호출하게 되면, 첫번재원소가 출력된다. 출력값은원소 의값인 value 와 done 이라는 boolean 값을가지고 있는 Object 이 다. 마지막원소까지출력된상태에서 next() 메소드를호출하게 되면 value 는 undefined 가 되고 done 값은 true 가 된다.
6.
iterable 프로토콜 문자열에도적용할수있다. String 오브젝트도 iterable 프로토콜을구 현한오브젝트이기 때문에 iterator 를사용할수있는것이다. let
name = "jbee"; let iterator = name[Symbol.iterator](); console.log(iterator.next());// {value: j, done: false} console.log(iterator.next());// {value: b, done: false} console.log(iterator.next());// {value: e, done: false} console.log(iterator.next());// {value: e, done: false} console.log(iterator.next());// {value: undefined, done: true}
7.
iterable 프로토콜 Object 에는기본적으로 iterator 가 존재하지않는다. 때문에 for- of 로순회할수없다.
하지만 iterator 를오브젝트에추가하여 iterable 하게 만들수있다. 또한배열을상속받은객체는 iterable 객 체이므로 iterator 를사용할수있다.
8.
iterable 프로토콜 iterator 를사용하다보면뭔가 Java의 interface 또는 @FunctionalInterface 같은느낌도든다. java에서해당 interface 를 implements 하게
되면해당기능을사용할수있는것처럼 구현하고자하는 Symbol , 즉 iterator 를프로퍼티에추가해서사용하면 iterator 기능을사용할수있는것이다.
9.
어떻게 하면 iterator 를그럴싸하게 사용해볼수있을까? 다음예제는이렇게
사용하면어떨까? 정도의예제코드이다. 가볍게 보고 넘 어가자.
10.
// Object to
create id let autoIncrement = { [Symbol.iterator]() { let id = 0; return { next() { return { value: ++id, done: false } } } } } // Define User class class User { constructor(id, name) { this.id = id; this.name = name; } } const idCreator = autoIncrement[Symbol.iterator](); console.log(new User(idCreator.next().value, "jbee"));// { id: console.log(new User(idCreator.next().value, "foo"));// { id: 2 console.log(new User(idCreator.next().value, "bar"));// { id: 3
11.
autoIncraement 객체에 iterator 프로퍼티를추가하여, id 를순차적 으로생성하게 만들었다.
id 에대해서는외부에서접근할수없으므로안정 적인 id 가 생성될수있지않을까?
12.
9.end
Download