yield anahtar kelimesi
yield ile bir generator'ı nasıl duraklatıp değer döndüreceğini öğrenirsin.
yield anahtar kelimesi
yield anahtar kelimesi, bir generatorun içinden değer üretmenin yoludur. yield çağrıldığında generator yürütmesi duraklatılır; üretilen değer çağırana döndürülür. Sonraki .next() çağrısında yürütme kaldığı yerden devam eder.
function* counter() {
yield 1;
yield 2;
}Bu generator önce 1, sonra 2 üretir. Her yield ayrı bir duraklama noktasıdır.
Birden fazla yield
Bir generator içinde birden fazla yield olabilir. Her biri sırayla çalışır: ilk .next() ilk yield'e kadar, ikinci .next() ikinci yield'e kadar gider. Bu, adım adım ilerleyen bir değer dizisi oluşturur.
function* colors() {
yield 'kırmızı';
yield 'mavi';
}
const c = colors();
c.next(); // { value: 'kırmızı', done: false }
c.next(); // { value: 'mavi', done: false } Uygulama Renkleri sırayla üret
colors adında bir generator yaz: sırayla 'red', 'green', 'blue' değerlerini üretsin. it adında bir generator oluştur ve .next().value ile üç değeri console.log ile yazdır.
Örnek çözümü göster
function* colors() {
yield "red";
yield "green";
yield "blue";
}
const it = colors();
console.log(it.next().value);
console.log(it.next().value);
console.log(it.next().value);
Kendini test et
-
yield anahtar kelimesi ne yapar?
- Generatoru duraklatıp değer döndürür
- Generatoru tamamen bitirir
- Generatoru baştan başlatır
- Generatoru siler
Cevabı göster
Generatoru duraklatıp değer döndürür — Doğru! yield değer üretir ve yürütmeyi duraklatır.
-
İkinci yield ifadesini ekle
function* counter() { yield 1; ____ 2; }Cevabı göster
function* counter() { yield 1; yield 2; } -
yield ve return karşılaştır
- yield
- değer üretir ve duraklatır
- return
- tamamen bitirir
- yield*
- başka generatoru delege eder