2017-02-10 5 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을 통해 현재 인스턴스의 생성자에 액세스 할 수 있습니다.