0Pricing
JavaScript Academy · Ders

Yöntem Çıkarma Tuzakları, Kısmi Uygulama

call/apply/bind ile yöntem çıkarmayı düzeltin ve bind ile sarmalayıcı ok işlevlerini kullanarak küçük kısmi uygulama kalıplarını öğrenin.

Yöntem Çıkarma Tuzakları, Kısmi Uygulama, CoddyKit'te ücretsiz bir JavaScript Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, JavaScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. JavaScript Academy kursu toplamda 3 dersten oluşur.

Genel bakış

Hedef: Çıkarma sonrasında this değerini sabit tutmak ve bağımsız değişkenleri önceden doldurmak.

  • call(thisArg, a, b)
  • apply(thisArg, [a, b])
  • bind(thisArg, a) → yeni bir işlev döndürür
  • bind veya küçük bir ok işleviyle kısmi uygulama
Yöntem Çıkarma Tuzakları, Kısmi Uygulama — resim 1

Çıkarma sorunu

obj.method() olarak çağırmak işe yarar; ancak işlevi çıkarmak nesneyi kaybettirir ve this davranışını bozar.

// Extraction loses this
const user = {
  name: "Ayla",
  label: function (prefix) {
    return prefix + ":" + this.name;
  }
};

console.log("method call:", user.label("Hi")); // "Hi:Ayla"

// Extract
const f = user.label;
console.log("extracted:", f("Hi")); // this is missing -> "Hi:undefined" (in strict mode this is undefined)
Yöntem Çıkarma Tuzakları, Kısmi Uygulama — resim 2

Tek seferlik call/apply

call ve apply, tek bir çağrı için this değerini ayarlamanızı sağlar.

// Fix by passing this explicitly using call/apply
console.log("call :", f.call(user, "Hi"));   // "Hi:Ayla"
console.log("apply:", f.apply(user, ["Yo"])); // "Yo:Ayla"
Yöntem Çıkarma Tuzakları, Kısmi Uygulama — resim 3

Yeniden kullanım için bind

bind, this değerini hatırlayan bir işlev oluşturur. Yeniden bind etmeden bu işlevi birçok kez çağırabilirsiniz.

// bind returns a new function with this fixed
const bound = f.bind(user);
console.log("bound once:", bound("Hey")); // "Hey:Ayla"
console.log("bound again:", bound("Yo")); // "Yo:Ayla"
Yöntem Çıkarma Tuzakları, Kısmi Uygulama — resim 4

Kısmi uygulama (basit)

Baştaki bağımsız değişkenleri önceden doldurmak için bind kullanın veya değerleri ve this değerini sabitlemek için küçük bir ok sarmalayıcı yazın.

// Partial application: pre-fill arguments
function add(a, b, c) { return a + b + c; }

// Using bind: pre-fill a=10
const add10 = add.bind(null, 10);
console.log("add10(1,2):", add10(1, 2)); // 13

// Using an arrow wrapper: pre-fill prefix
const labelHi = function (obj) {
  return function () { return obj.label("Hi"); };
}(user);

console.log("arrow partial:", labelHi()); // "Hi:Ayla"
Yöntem Çıkarma Tuzakları, Kısmi Uygulama — resim 5

Uygulama kalıpları

İpuçları:

  • Çıkarılan yöntemler: bind işlemini bir kez kullanın ve yeniden kullanın.
  • Tek seferlik çağrılar: call/apply kullanın.
  • Önceden doldurulmuş bağımsız değişkenlere mi ihtiyacınız var? bind veya küçük bir ok sarmalayıcı kullanın.
  • Yardımcıları küçük tutun ve açıkça adlandırın.
Yöntem Çıkarma Tuzakları, Kısmi Uygulama — resim 6

bind ve call/apply testi

Hızlı kontrol: this değerini koruma ve bağımsız değişkenleri önceden doldurma.

Yöntem Çıkarma Tuzakları, Kısmi Uygulama — resim 7

Özet

Özet: Çıkarma, this değerini kaybettirir. Tek seferlik çağrılar için call/apply kullanın; this değerini sabitlemek ve yeniden kullanmak için bind kullanın. Kısmi uygulamalarda değerleri önceden doldurmak için bind veya küçük bir ok işlevi kullanın.

Yöntem Çıkarma Tuzakları, Kısmi Uygulama — resim 8

Sıkça Sorulan Sorular

“Yöntem Çıkarma Tuzakları, Kısmi Uygulama” dersi ücretsiz mi?

Evet — “Yöntem Çıkarma Tuzakları, Kısmi Uygulama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve JavaScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. JavaScript Academy kursu toplamda 3 dersten oluşur.

“Yöntem Çıkarma Tuzakları, Kısmi Uygulama” dersinde ne öğreneceğim?

call/apply/bind ile yöntem çıkarmayı düzeltin ve bind ile sarmalayıcı ok işlevlerini kullanarak küçük kısmi uygulama kalıplarını öğrenin. JavaScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

JavaScript Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te JavaScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.

“Yöntem Çıkarma Tuzakları, Kısmi Uygulama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu JavaScript Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her JavaScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Sözcüksel ve Dinamik this, Ok İşlevlerine Yeniden Bakış
  2. Yöntem Çıkarma Tuzakları, Kısmi Uygulama
  3. İşlevsel Alternatifler — Bağlam Aktarma, Kapanımlar, Küçük Yardımcılar
← JavaScript Academy Sayfasına Dön