Вы не можете создать объект, подобный классу, вам нужно вызвать конструктор с new
class MyClass {
get b(): number { return this.a * 2 };
constructor(public a: number) { }
}
var myObject: MyClass = new MyClass(10);
, и теперь у вас есть доступ к a
и b
свойству
console.log(myObject.a, myObject.b);
UPDATE
также вы можете сделать что-то вроде этого, когда вы создаете класс из json / interface
interface IMyInterface {
a: number
}
class MyClass implements IMyInterface {
a: number;
get b(): number { return this.a * 2 };
constructor(json: IMyInterface) {
this.a = json.a;
}
}
const myObject = new MyClass({a: 10});
или если вы хотите автоматически инициализировать все члены от интерфейса к классу
constructor(json: IMyInterface) {
Object.keys(json).forEach(key => {
this[key] = json[key];
});
}