typescript optional property with a getter
As of April 2020, there is NO way to implement this.
There is an inconclusive PR for this: https://github.com/microsoft/TypeScript/pull/16344
A proposed solution via an interface is presented here: https://github.com/microsoft/TypeScript/pull/16344
Personally, the solution did not meet my needs, and I rather declared the property as private.
Hopefully, we can have better luck in the future.
Very interesting. I think, you should report an issue to TypeScript, because methods can be optional (see below), but property getters not. It is strange.. As a workaround I can suggest two variants. A nice one:
class PersonParms {
name:string;
lastName:string;
age?: number;
getFullName?() {return this.name + " "+this.lastName;}
}
And a second one, that is hacky, because there we make all the properties optional when passing to constructor.
class PersonParms {
name:string;
lastName:string;
age?: number;
get fullName(){return this.name + " "+this.lastName;}
}
class Person{
constructor(prms: Partial<PersonParms>){
}
}