是否有一種方法可以在運行時區分類(不是它的實例!)和TypeScript中的函數。如何區分類和函數
通常,在typescript中的類會被轉換爲javascript函數,並且在運行時我無法找到一個很好的方法來檢查標識符是函數還是類類型!
例如:
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 :)
一個更好的解決方案的任何想法? 謝謝。
這看起來像一個更清潔的解決方案。我必須通過我的單元測試運行並查看結果。謝謝 :) – gevik