Çalışma zamanı sırasında bir sınıf (örneğini değil!) Ve TypeScript'te bir işlevi ayırt etmenin bir yolu var mı.Sınıf ve işlev arasında ayrım yapma
Normal olarak, yazı tipindeki sınıflar javascript işlevlerine aktarılır ve çalışma sırasında bir tanımlayıcının işlev mi yoksa sınıf tipi mi olduğunu kontrol etmenin güzel bir yolunu bulamadım! Örneğin
: Daha iyi bir çözüm için
function func1() {
\t
}
class class1 {
\t
}
// ugly hack
(<any>class1.prototype).isclass = true;
// ugly hack test
function is_class(clazz:any) {
\t return (
\t \t clazz
\t \t && clazz.prototype
\t \t && (<any>clazz.prototype).isclass === true
\t);
}
console.log(typeof(func1) === 'function'); // returns true !!
console.log(typeof(class1) === 'function'); // returns true !!
console.log(is_class(func1)); // returns false :)
console.log(is_class(class1)); // returns true :)
Herhangi bir fikir? Teşekkürler.
Bu temiz bir çözüm gibi görünüyor onaylıyor. Her ikisini de birim testlerimle yürütmek ve sonucu görmek zorundayım. Teşekkür ederim :) – gevik