В JavaScript я бы сделал это так:Как вычислить свойство в классе в машинописном тексте?
function a(b,c) {this.foo = b; this.bar = c; this.yep = b+c}
// undefined
b = new a(1,2)
// a {foo: 1, bar: 2, yep: 3}
Но я не смог найти способ сделать это в машинописи. Ничего из этого не работает:
class A {
foo: number;
bar: number;
yep: foo + bar;
}
class A {
foo: number;
bar: number;
yep: this.foo + this.bar;
}
class A {
foo: number;
bar: number;
let yep:number = this.foo + this.bar;
}
class A {
foo: number;
bar: number;
yep: number;
constructor() {
this.yep = this.foo + this.bar;
}
}
class A {
foo: number;
bar: number;
get yep(): number {
return this.foo + this.bar;
}
}
class A {
foo: number;
bar: number;
yep: function() {return this.get("foo") + this.get("bar")};
}
Я инициализировать его следующим образом:
somevar: A = {
foo: 1,
bar: 2
}
Также я попытался это:
somevar: A = {
foo: 1,
bar: 2,
this.yep: this.foo + this.bar
}
Спасибо за вашу помощь. Эта математика будет сложнее, и я буду нуждаться в ней более одного раза, поэтому я не хочу помещать ее в шаблон.
насчет '' this.foo' и this.bar'? Они будут неопределенными. – cartant
жаль, что здесь поздно, но отсюда концепция проста, я ее отредактировал – Kaddath