2017-07-13 20 views
0

如何檢查或標記父類中可能存在於繼承類中的方法。 作爲例子,我有一個擴展類A的如何檢查TypeScript中的類中存在的方法

class A {  
    onSomethingHappend() { 
    // how I can check that method exist? 
    this.dependedAction(); 
    } 
} 

class B extends A { 
    dependedAction() { 
    console.log('dependedAction'); 
    } 
} 

const b = new B(); 

b.onSomethingHappend(); 

回答

3

B類你可以把它抽象:

abstract class A {  
    onSomethingHappend() { 
     this.dependedAction(); 
    } 

    abstract dependedAction(): void; 
} 

那麼,如果類B沒有實現它的編譯器會抱怨。

另一種選擇是:

class A {  
    onSomethingHappend() { 
     if (typeof (this as any).dependedAction === "function") { 
      (this as any).dependedAction(); 
     } 
    } 
} 
相關問題