So, I have 2 constructor functions, Person (which is parent) and Student (which is child of parent). I'm trying to implement inheritance between these constructor functions and everything is working correctly instead of one thing which breaks my logic.
This is my implementation:
//Parent
const Person = function (this: PersonI, firstName: string, birthYear: number) {
this.firstName = firstName;
this.birthYear = birthYear;
}
Person.prototype.calcAge = function () {
console.log(2040 - this.birthYear);
}
//Child
const Student = function (this: StudentI, firstName: string, birthYear: number, course: string) {
Person.call(this, firstName, birthYear);
this.course = course;
}
//Inheritance
Object.setPrototypeOf(Student.prototype, Person.prototype)
Student.prototype.introduce = function () {
console.log(`My name is ${this.firstName} and I study ${this.course}`);
}
const mike = new (Student as any)('Mike', 2020, 'CS');
console.log(mike);
And as a result in console I'm getting: 
Methods are set perfeclty in place, BUT why 'Person' is shown in marked place at screenshot instead of 'Student'?