Я нахожусь в начале обучения TypeScript. Я исхожу из строго типизированного языка (C#) и имею некоторые знания в JS.классы и интерфейсы в Typcript
Совсем в начале я упал на следующем примере:
class Student {
fullName: string;
constructor(public firstName, public middleInitial, public lastName) {
this.fullName = firstName + " " + middleInitial + " " + lastName;
}
}
interface Person {
firstName: string;
lastName: string;
}
function greeter(person : Person) {
return "Hello, " + person.firstName + " " + person.lastName;
}
var user = new Student("Jane", "M.", "User");
document.body.innerHTML = greeter(user);
Теперь я немного запутался. Я бы ожидал чего-то вроде Student:Person
(C#) или Student implements Person
(Java) Итак: Почему greeter()
принимает объект класса "Student
"? Я не видел никакой подсказки, что «Student
« реализует »Person
».
Это просто имена объектов недвижимости? Так что, если добавить еще один класс
class Teacher {
salaray:int,
firstName:string,
lastName:string
}
объект этого класса также будет допустимым параметром для greeter()
?
Хорошо. Было решение 50/50, какой ответ принять. Тем не менее. :) –