#100DaysOfCode의 47일차: ES6 생성기 및 반복자 검토
6167 단어 generatorses6webdevjavascript
소개
생성기는 내부 상태(일시 중지 및 다시 시작)를 유지하는 데 도움이 되는 ES6의 새로운 기능입니다.
반복자 프로토콜
const list = [0, 1, 2, 3, 4, 5];
const arrayIterator = list[Symbol.iterator]();
console.log(arrayIterator.next());
console.log(arrayIterator.next());
console.log(arrayIterator.next());
/*
will print:
Object {value: 0, done: false}
Object {value: 1, done: false}
Object {value: 2, done: false}
*/
일시정지 가능한 기능
yield는 생성기를 일시 중지시키는 키워드입니다
제너레이터 안팎으로 데이터 보내기
생성기 외부로 데이터를 보내는 데 yield가 사용됨
function* gen3() {
for (let i = 0; i< 10; i++) {
let value = yield i
console.log(`sending data into generator: ${value}`)
}
}
var g = gen3()
console.log(`sending data out of generator: ${g.next().value}`)
console.log(`sending data out of generator: ${g.next(10).value}`)
console.log(`sending data out of generator: ${g.next(20).value}`)
/*
will print:
sending data out of generator: 0
sending data into generator: 10
sending data out of generator: 1
sending data into generator: 20
sending data out of generator: 2
*/
조항
내 기사와 출시된 프로젝트 중 일부가 있습니다. 마음에 드시면 체크해주세요!
참조
Reference
이 문제에 관하여(#100DaysOfCode의 47일차: ES6 생성기 및 반복자 검토), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jenhsuan/day-47-of-100daysofcode-review-es6-generators-iterators-197텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)