SORU
20 Mart 2014, PERŞEMBE


ES6 sınıf değişkeni alternatifleri

ES5 şu anda çoğumuz çerçeveler içinde desene rahat olan sınıflar ve sınıf değişkenleri oluşturmak için kullanarak

FrameWork.Class({

    variable: 'string',
    variable2: true,

    init: function(){

    },

    addItem: function(){

    }

});

ES6 ile sınıfları yerel yol oluşturmak için yeteneği var, ama sınıf değişkenleri için seçenek yok:

class MyClass {
    const MY_CONST = 'string';
    constructor(){
        this.MY_CONST;
    }
}

Ne yazık ki bu sınıflar sadece fonksiyonları olarak işe yaramaz. 5 ** kurucu anladığım kadarıyla ama ben istemiyorum 'önemsiz daha büyük bir sınıf için 20-30 parametreler var özellikle. benim yapıcı,

Birçok yönden bu konuyu ele düşünüyordum ama henüz bulamadım. Örneğin ClassConfig işleyicisi oluşturmak ve separatelly sınıfından ilan edilen parametre bir nesne geçmek, işleyicisi sınıfı eklemek istiyorsunuz. WeakMaps da bir şekilde entegre etmek için thinkon ediyordum.

Ne gibi Fikirler Bu durumun üstesinden gelmek zorunda mısın?

CEVAP
10 NİSAN 2014, PERŞEMBE


ES notları ES6 (maximally minimal classes) not: öneri için wiki

Var (kasten) ya da prototip tanımlamak için doğrudan bir bildirim veri yolu özellikleri (yöntemleri dışında) sınıf özellikleri, ya da örnek özelliği

Sınıf özellikleri ve prototip veri mal bildirimi dışında yaratılmış olması gerekir.

Özellikleri sınıf tanımında belirtilen bir nesne değişmez, göründü olarak aynı özelliklere atanır.

Bu anlamına gelirne istediğinin kabul edildi ve açıkça karşı karar verdi.

... neden? ama

Güzel soru. TC39 iyi insanları sınıf bildirimleri ve sınıf yeteneklerini ilan tanımlamak istiyorum. Üyeleri değil. ES6 sınıf bir bildirge kullanıcı sözleşmesini tanımlar.

Unutmayın, bir sınıf tanımı tanımlarprototipyöntemleri - prototip üzerinde belirleyici değişkenler genelde yaptığım bir şey değil. Tabi ki kullanım:

constructor(){
    this.foo = bar
}

Senin gibi yapıcı önerdi. Ayrıca bakınız the summary of the consensus.

ES7 ve ötesinde

ES7 için yeni bir öneri sınıf bildirimleri ve ifadeler https://esdiscuss.org/topic/es7-property-initializers daha kısa örnek değişkenleri sağlayan üzerinde çalışılıyor

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BumbleDroid

    BumbleDroid

    18 EKİM 2010
  • Dopelives

    Dopelives

    30 Temmuz 2009
  • Fuse

    Fuse

    21 Kasım 2005