Heim > Artikel > Web-Frontend > Was bedeutet Ertrag in es6?
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}“.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, ECMAScript Version 6.0, Dell G3-Computer.
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'; }
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'; }
Schritt 3: Konstruieren Sie den Iterator.
var iterator = delegate();
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()) // 第四次输出
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!