es6에서 Yield는 생성기가 자체 작업을 내부적으로 일시 중지하는 데 사용하는 키워드입니다. Yield 뒤에는 생성기 함수 또는 기타 반복 가능한 객체가 오고, Yield 표현식의 반환 값은 그 뒤의 반복 가능한 객체의 값입니다. 반복이 완료되었습니다. 반환 값, 구문은 "function*gen(){수율 표현}"입니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, ECMAScript 버전 6.0, Dell G3 컴퓨터.
yield는 ES6의 Generator가 자체 작업을 내부적으로 일시 중지하는 데 사용하는 키워드입니다.
"내부"라는 단어에 유의하세요. 생성기 기능은 외부 로직에 의해 일시 중지될 수 없으며, 항복을 통해서만 자체적으로 일시 중지될 수 있습니다.
yield 키워드 뒤에 변수가 오거나 단독으로 사용될 수 있습니다. 항복 뒤에 변수(이를 항복 표현식이라고 부를 수 있음)가 있는 경우 생성기 함수가 일시 중지된 후 실행을 재개하면 전달된 매개변수가 후속 논리 연산에 참여하기 위해 전체 항복 표현식의 값으로 사용됩니다.
Yield를 따르지 않는 경우 단독으로 사용되는 Yield는 생성기 작동 재개 후 전달된 매개변수가 후속 작업에 참여하기 위한 Yield 값으로 사용됩니다.예
1단계, 생성기 함수를 구성합니다.
function* numbers () { yield 1; yield 2; return 'numbers'; }
2단계, 위 생성기 함수 외부에 프록시를 만듭니다.
function* delegate () { var str = yield* numbers(); console.log(str); yield 3; return 'delegate'; }
3단계, 반복자를 구성합니다.
var iterator = delegate();
4단계, 반복 결과를 출력합니다.
/** * 第一次输出结果 * { value: 1, done: false } */ console.log(iterator.next()) // 第一次输出 /** * 第二次输出结果 * { value: 2, done: false } */ console.log(iterator.next()) // 第二次输出 /** * 第三次输出结果 * numbers * { value: 3, done: false } */ console.log(iterator.next()) // 第三次输出 /** * 第四次输出结果 * { value: 'delegate', done: true } */ console.log(iterator.next()) // 第四次输出
출력 결과 설명
3번째 출력 시 내용이 2줄 출력됩니다. 첫 번째 줄의 내용은 대리자 함수의 console.log(str) 출력이고 값은 숫자 함수의 반환 값입니다. 네 번째 출력 시 한 줄의 내용이 출력되는데, 여기서 값은 대리자 함수의 반환 값입니다. 이 시점에서 done 속성은 true입니다. 【관련 추천:javascript 비디오 튜토리얼, web front-end】
위 내용은 es6에서 수익률은 무엇을 의미합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!