How do I iterate through list of class properties and get the values of each (only the properties and not the functions)
class Person{
name:string;
age:number;
address:Address;
getObjectProperties(){
let json = {};
// I need to get the name, age and address in this JSON and return it
// how to do this dynamically, rather than getting one by one
// like json["name"] = this.name;
return json;
}
}
Please help.
You can't do that, if you look at the compiled code of:
class Person {
name: string;
age: number;
address: Address;
}
You'll see that those properties aren't part of it:
var Person = (function () {
function Person() {
}
return Person;
}());
Only if you assign a value then the property is added:
class Person {
name: string = "name";
}
Compiles to:
var Person = (function () {
function Person() {
this.name = "name";
}
return Person;
}());
You can use a property decorator for that.