Heim > Web-Frontend > Front-End-Fragen und Antworten > Was bedeutet Ertrag in es6?

Was bedeutet Ertrag in es6?

WBOY
Freigeben: 2022-03-30 18:25:44
Original
3240 Leute haben es durchsucht

In es6 ist yield ein Schlüsselwort, das vom Generator verwendet wird, um seine eigene Operation intern anzuhalten. Auf yield folgt eine Generatorfunktion oder ein anderes iterierbares Objekt, und der Rückgabewert des yield-Ausdrucks ist der Wert des darauffolgenden iterierbaren Objekts Die Iteration ist abgeschlossen. Der Rückgabewert lautet „function*gen(){yield expression}“.

Was bedeutet Ertrag in es6?

Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.

Was bedeutet Yield in ES6?

Yield ist ein Schlüsselwort, das Generator in ES6 verwendet, um seinen eigenen Betrieb intern anzuhalten.

Bitte beachten Sie das Wort „intern“, die Generatorfunktion kann nicht durch externe Logik angehalten werden, sie kann nur von selbst durch Ausbeute angehalten werden.

Dem Schlüsselwort yield kann eine Variable folgen oder es allein verwendet werden. Wenn auf yield eine Variable folgt (wir können sie als Yield-Ausdruck bezeichnen), nehmen die übergebenen Parameter an nachfolgenden logischen Operationen teil, wenn die Generatorfunktion nach dem Anhalten wieder ausgeführt wird, während dies beim Wert des gesamten Yield-Ausdrucks

der Fall ist gefolgt von yield Variablen, die alleinige Verwendung von yield werden nur als Pausengeneratorfunktion verwendet. Nachdem der Generator den Betrieb wieder aufgenommen hat, werden die übergebenen Parameter als Wert von yield verwendet, um an nachfolgenden Vorgängen teilzunehmen.

Beispiel

Schritt 1: Erstellen Sie eine Generatorfunktion.

function* numbers () {
     yield 1;
     yield 2;
   
     return 'numbers';
 }
Nach dem Login kopieren

Schritt 2: Erstellen Sie einen Proxy außerhalb der oben genannten Generatorfunktion.

function* delegate () {
     var str = yield* numbers();
     console.log(str);
     
     yield 3;
     return 'delegate';
}
Nach dem Login kopieren

Schritt 3: Konstruieren Sie den Iterator.

var iterator = delegate();
Nach dem Login kopieren

Schritt 4: Ausgabe der Iterationsergebnisse.

 /**
  * 第一次输出结果
  * { 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()) // 第四次输出
Nach dem Login kopieren

Beschreibung des Ausgabeergebnisses

Bei der dritten Ausgabe werden zwei Zeilen Inhalt ausgegeben. Der Inhalt der ersten Zeile ist die Ausgabe von console.log(str) in der Delegatfunktion und der Wert ist der Rückgabewert der Zahlenfunktion.

Bei der vierten Ausgabe wird eine Inhaltszeile ausgegeben, wobei der Wertwert der Rückgabewert der Delegate-Funktion ist. An diesem Punkt ist die done-Eigenschaft wahr.

【Verwandte Empfehlungen: Javascript-Video-Tutorial, Web-Frontend

Das obige ist der detaillierte Inhalt vonWas bedeutet Ertrag in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
es6
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage