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

  • Bennythecoder

    Bennythecode

    25 Mart 2008
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013