03.16. ES6 Proxies

ES6 standardında sunulan yeni özelliklerden biri Proxy nesnesidir. Proxy nesnesi, temel işlemlere özel davranış tanımlamak için kullanılır. Örneğin özellik araması, atama, numaralandırma, işlev çağırma, vb. gibi temel işlemler için uygundur.

Proxy kavramı için 3 terimi bilmemiz gerekir:

  • handler: trap’leri içeren the placeholder (yer tutucu) object
  • target: proxy’nin sanallaştırdığı nesne
  • traps: özellik erişimi sağlayan metotlar

Basit bir örnekle konuyu açıklayalım.

Öncelikle bir handler tanımladık. İşlemlerimiz bu handler üzerinden geçecek. get property’si eğer verilen target’a uygun işlem ise sonucu aksi takdirde ise “anahtar yok” hatasaını döndürür. İki değişkenden oluşan bir nesne oluşturduk. New ile yeni bir Proxy oluşturduk. Proxy sınıfının yapıcısına sırasıyla nesne ve handler değerlerini döndürdük. Proxy üzerinden deg1 ve deg2 ulaşabiliriz. Ancak, olmayan bir değere ulaştığımızda hatalı sonuç döndürür. Görüldüğü gibi nesnenin davranışını değiştirdik.

Daha fazla bilgi ve örnek için tıkla 1 ve tıkla 2.