8
Bir sınıfı işlev olarak çağırmamın bir yolu var mı? Aşağıdaki işlevselliklere sahip olmak istiyorum, sınıfta bir main
yöntemi var ve yöntemin yürütmesini istediğim bu.Bir sınıf işlev olarak görülemiyor
class test {
constructor() {
return this.main
}
main() {
return Promise.resolve('thomas')
}
}
test().then(name => {
console.log(name)
})
Benim diğer tek seçenek böyle bir sarmalayıcı fonksiyonu var olacaktır görünüyor.
class Test {
constructor (name) {
this.name = name
}
main() {
return Promise.resolve(this.name)
}
}
let test = (name) => {
return new Test(name).main()
}
test('thomas').then(name => {
console.log(name)
})
JS sınıflarını kullanırken 'new' anahtar sözcüğünü kullanmanız gerekir. Sağladığınız ikinci seçeneğin doğru olacağını kabul ediyorum. (veya sınıfları kullanmayın) – evolutionxbox
Bir sınıf bir nesne oluşturur. Yapıcınız, sınıfın bir örneğini değil, başka bir işlevi döndürür. Bu pek anlamlı değil. Tam olarak burada ne yapmaya çalışıyorsun? Belki de sınıfta statik bir yöntem aradığınız şeydir? –
@FelixKling Çok sayıda iç işleyişe sahip karmaşık bir işlev oluşturmak istiyorum ve bir ton küçük işlevler oluşturmak yerine 'this.methodName 'öğesini kullanarak kendisine referanslar çağırıyor. Ben sadece bir 'ana' fonksiyonunu kullanmak istiyorum. Bunun bir sınıfın en iyi şekilde kullanılmadığını anlıyorum, ama benim gibi kekimi alabilirim ve yiyebilirim. – ThomasReggi