2015-07-06 9 views
7

Bu yüzden ilk çekme isteğimi bir işbirlikçi yazılım projesinde (Ember.js ile oluşturulmuş bir web uygulaması) gönderdim ve dikkatlice bir boole değişkeni eklemiş olduğumu fark ettim (koşullu olarak) şöyle, bir anahtar değer çifti yerine sadece değişken adı kullanarak bir nesnenin değişmez olarak) bir fonksiyonu yerleştirilmeye:JavaScript'te bir boolean nesnesi özelliğinin ayarlanması ve elde edilmesi

function fruitStand() { 
    // do something here to decide if this basket is pretty, and if not.. 
    var prettyBasket = false; 

    var myObj = { 
    apples : 1, 
    oranges : 2, 
    prettyBasket 
    }; 

    return myObj; 

} 

sürpriz olduğu

var stand = fruitStand(); 
var truthy = stand.prettyBasket; 

daha sonra boolean erişmek işe yaramış görünüyor , ama bu geçerli JavaScript mi? Aksi halde zayıf form? prettyBasket : prettyBasket gibi bir şey ile ayarlanması durumunda yukarıda az KURU hissediyor sorun yok.

+0

Genel projelere kod gönderiyorsanız, kabul ettikleri JS özelliklerinin düzeyini sınırlamak için ayarları olan bir linter aracılığıyla çalıştırmanız iyi bir fikir olabilir. –

cevap

4

Sen istemeden size here hakkında daha fazla bilgi bulabilirsiniz ES6 bir özelliğini, özellikle steno nesnesi değişmez notasyonu, yararlandığımız. Ayrıca, üzerinde çalıştığınız uygulamanın Ember-cli (ve bir ES6 transpiler kullanıyor) ile oluşturulup oluşturulmadığına veya düzenli bir Ember uygulaması oluşturmanıza (potansiyel olarak transpilasyon olmadan) bağlı olarak, standart nesne değişmezi notasyona transpiled ediliyor sürece sadece en son tarayıcıları bu kodu destekleyecektir.