Örnek değişkenleri normal değişkenlere nasıl yapabildiğinize benzer şekilde atamak için bir JavaScript sınıfının yapıcısındaki yıkıcı atamayı kullanmak mümkün mü?JavaScript kurgusunda örnek/üye değişkenlerini yıkmak mümkün mü?
var options = {one: 1, two: 2};
var {one, two} = options;
console.log(one) //=> 1
console.log(two) //=> 2
Ama işe aşağıdaki gibi bir şey elde edemez:
Aşağıdaki örnek çalışır
class Foo {
constructor(options) {
{this.one, this.two} = options;
// This doesn't parse correctly and wrapping in parentheses doesn't help
}
}
var foo = new Foo({one: 1, two: 2});
console.log(foo.one) //=> I want this to output 1
console.log(foo.two) //=> I want this to output 2
Daha düşünüyorum:
Eğer örneğine tüm seçeneklerinizi uygulamak istiyorsanız, Strüktür kırıcı olmadan
Object.assign
kullanabilirsiniz:ikincisi
Object.assign
ve strüktür kullanır Genel soru, bir nesne başlatıcısı yerine varolan bir nesnede özellik oluşturmayı sağlayan bir yıkıcı atama formu olup olmadığıdır. – PointyHer neyse, her zaman Object.assign (bu, seçenekler) vardır; ' – Pointy
Aynı sözdizimini kurucular dışında da uygulayabileceğinizi belirtmek gerekir. Verilen iki nesne vardır: '' o = {a: 1, b: 2}, p = {}; '. '' Daha az karmaşık bir yapıya dönüştürmek '' bir kekin barışıdır: '({b: p.b} = o);' Nesne {b: 2} 'yi' p' için verir. – ftor