2017-02-10 107 views
2

使用ES6類語法,是否可以從父類創建當前類的新實例?例如:ES6類:是否可以從父類訪問子類的構造函數?

class Base { 
    withFoo() { 
     return new self({ foo: true }); 
    } 
} 

class Child extends Base {} 

(new Child()).withFoo(); 

我正在尋找類似PHP的new self()語法的東西。

+1

在JavaScript中,「class」*是構造函數。 – 4castle

+0

想要這種行爲的原因是什麼? – Mjh

+0

@Mjh您希望基類包含自定義構造函數(例如工廠方法)的任何情況。在我的情況下,我需要一個方法來操作基類中的不可變對象。 – mkrause

回答

5

您可以通過this.constructor訪問當前實例的構造函數。

相關問題