CodeBlanks Logo Icon CodeBlanks

yield anahtar kelimesi

JavaScript kursu · İleri seviye · Ders 49/100

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

  1. 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.

  2. İkinci yield ifadesini ekle

    function* counter() {
      yield 1;
      ____ 2;
    }
    Cevabı göster
    function* counter() {
      yield 1;
      yield 2;
    }
  3. yield ve return karşılaştır

    yield
    değer üretir ve duraklatır
    return
    tamamen bitirir
    yield*
    başka generatoru delege eder

İleri seviye bölümündeki tüm dersler