클래스를 구현할 때 생성자 내부에서 구현되는 멤버를 사용할 수 없다는 것을 발견했습니다. 내가 잘못 구현하고 있는지, 정말로 다른 접근법을 취해야하는지 알 수 없습니다.생성자 (typescript)에서 구현 된 멤버 사용 (typescript)
abstract class Parent {
abstract myVar: number;
constructor() {
console.log(this.myVar) // Outputs undefined
}
f() {
console.log(this.myVar) // outputs 5
}
}
class Child extends Parent {
myVar: number = 5;
}
let myChild = new Child;
myChild.f();
생성자에서 구현 된 멤버에 액세스하려면 어떻게해야합니까?
아니 큰 팬. 파생 클래스는 기본 클래스 메서드를 호출 할 수 있습니다.이 메서드는 기본 클래스가 여전히 부분 초기화 된 상태이므로 동작이 정의되지 않습니다. –
@RyanCavanaugh 대부분의 경우 당신이 옳았지 만 때로는 피하는 것이 어렵습니다. 어쨌든, 나는 일이 일어나는 순서를 설명하기 위해 여기에 사용했다. –