Proxy nedir?
Proxy ile bir nesne üzerindeki işlemleri yakalamayı öğrenirsin.
Proxy nedir?
Bir Proxy, başka bir nesneyi saran ve o nesne üzerindeki temel işlemleri yakalayan özel bir nesnedir. Bu işlemler özellik okuma, yazma, silme ve in ile varlık kontrolünü kapsar. Proxy, metaprogramlama yapmanın standart yoludur.
const proxy = new Proxy(target, handler);İki bileşeni vardır: target sarılacak orijinal nesne, handler ise hangi işlemlerin yakalanacağını belirten sıradan bir nesnedir. Handler boşsa Proxy tüm işlemleri olduğu gibi target nesnesine iletir.
Handler ve trap'ler
Handler, trap adı verilen metodları barındıran sıradan bir nesnedir. Her trap belirli bir işlemi yakalar: get özellik okumayı, set özellik yazmayı, has in operatörünü yakalar.
const handler = {
get(target, prop) {
return target[prop];
}
};Trap çağrıldığında target orijinal nesneyi, prop ise erişilen özelliğin adını alır. Trap bir değer döndürürse Proxy bu değeri kullanır; böylece okuma ve yazmayı özelleştirebilirsin.
Uygulama İlk Proxy'ni oluştur
user adında name özelliği olan bir nesne tanımla. proxy değişkenini new Proxy(user, {}) ile boş handler kullanarak oluştur. Sonra console.log(proxy.name) ile özelliğin değerini yazdır.
Örnek çözümü göster
const user = { name: 'Ayşe' };
const proxy = new Proxy(user, {});
console.log(proxy.name);
Kendini test et
-
Hangisi geçerli bir Proxy oluşturma sözdizimidir?
- Proxy.create(target, handler)
- target.proxy(handler)
- new Proxy(target, handler)
- new Proxy(target)
Cevabı göster
new Proxy(target, handler) — Doğru! new Proxy(target, handler) sözdizimi Proxy oluşturmanın standart yoludur.
-
Boş handler ile Proxy oluştur
const user = { name: 'Ayşe' }; const proxy = new Proxy(user, ____);Cevabı göster
const user = { name: 'Ayşe' }; const proxy = new Proxy(user, {}); -
Proxy kavramlarını eşleştir
- Proxy
- nesneyi sarmalar
- handler
- trap'leri tutar
- trap
- işlemi yakalar
- target
- gerçek nesne