Daktilo Bu tanımları ok?

oy
2

Ben daktilo edebi tür nesneyi yazdı:

var object = {
    message: Say,
    say: () => {
        return this.message;
     }
};

Ve böyle oluşturulan JavaScript var:

var object = {
    message: Say,
    say: function () {
        return _this.message;
    }
};

orada Olmalı iade ifade önce böyle bir çizgi be:

 var _that = this;

Ben ok işlev ifadesi kullanıyorum olarak?

Oluştur 10/10/2012 saat 00:00
kaynak kullanıcı
Diğer dillerde...                            


2 cevaplar

oy
2

=>, eleştirel, bunun nedeni burada tehlike biraz bağlayan thiskapsayan kapsamı en etmekthis . Doğru kod nesilde var _this = this;çizgi gider yukarıda edebi nesne ve sayfonksiyon sadece döner undefined.

Sen sadece hiç kullanmak istediğiniz thisbir yer =>aslında başvurmak istediğinizde ifade thiskapsayan kapsamında mevcut olacağını. Bu özel durumda, (eğer iç kapsamını istemiyoruz thisnesnesi değişmez kendisi yani).

Cevap 10/10/2012 saat 00:25
kaynak kullanıcı

oy
2

Doğru konum. Bu eksik:

var _this = this;

Bu serbest bırakılmasından sonra (0.8) sonra bulunan ve şu anda geliştirici dala sabitlenir.

Not: Ayrıca ben yazmak istedim düşünüyorum

var object = {
    message: "Say",
    say: function () {
        return () => this.message;
    }
};

bu da yayınlandığında, bir aslında Say yazdırılır. Bkz: http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax

Cevap 10/10/2012 saat 00:03
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more