Kabul edilen cevap harika. Kompakt "ok işlevi sözdizimi" yerine normal işlev sözdizimini kullanmak istiyorsanız en iyisi budur .
Ama belki gerçekten ok işlevlerini seviyorsunuz; ok işlevini normal işlev sözdiziminin yerini alamayacağı başka bir nedenle kullanıyorsunuz ; farklı bir çözüme ihtiyacınız olabilir.
Örneğin, OP'nin kullandığını fark ettim this, sözcüksel olarak bağlanmakthis isteyebilirsiniz ; aka "bunun bağlayıcılığı yoktur" ) ve ok işlevleri sözlü bağlama için iyidir.
Yine de Object.definePropertyteknik yoluyla bir alıcı ile bir ok işlevini kullanabilirsiniz .
{
...
Object.defineProperty(your_obj, 'status', {
get : () => this.xhr.status
});
...
}
Bkz bahseder object initializationtekniği (aka get NAME() {...}) vs definePropertytekniği (aka get : ()=>{}) . En az bir önemli fark vardır, kullanımı definePropertydeğişkenlerin zaten mevcut olmasını gerektirir:
Mevcut nesneler üzerinde alıcı tanımlama
yani (benim örneğimde) var olduğundan ve bir değişkene kaydedildiğinden Object.definePropertyemin olmalısınız your_obj(oysa bir ile object-initializationnesne başlatmanızda bir nesne değişmezi döndürebilirsiniz :) {..., get(){ }, ... }. Özellikle burada daha fazla bilgiObject.defineProperty
Object.defineProperty(...)get NAME(){...}sözdizimiyle karşılaştırılabilir bir tarayıcı desteğine sahip görünüyor ; modern tarayıcılar, IE 9.
(method, url, something) => this.xhr.open(method. url, something).