toto:
type Person(firstName, lastName) =
member p.FirstName = firstName
member p.LastName = lastName
member p.FullName = sprintf "%s %s" firstName lastName
som sa v TypeScripte snažil vyjadriť nejako takto:
function Person(firstName: string, lastName: string) {
class Person {
readonly firstName = firstName;
readonly lastName = lastName;
get fullName() { return `${firstName} ${lastName}`; }
}
return Person;
}
lenže to neni úplne to isté nakolko to neni trieda ale "šablóna" tiredy nemôžem ju extendnúť... Ďediť môžem až výsledok funkcie.