プロパティnumberOne
とnumberTwo
の間の差を自動的にとり、自動的に結果をnumberThree
に割り当てるクラスを作成したいと考えています。配列がそのクラスに入力されたときにコンストラクタで演算を実行できます
これは、クラスが配列型として割り当てられている場合を除いて機能します。プロパティが存在しないこと、配列の型をPost型に割り当てることができないことを示すエラーが発生します。
numberThree
プロパティ宣言を削除すると、別のエラーがスローされます。numberThree
は未解決の変数です。
これは簡単なようです。私は不動産宣言と関係がないと思います。将来的には、返されたデータから作成された複数の新しいプロパティを持つhttpリクエストのデータに割り当てられるクラスなので、これは中程度の重要性を持っています。
export class Post {
numberOne: number;
numberTwo: number;
numberThree: number
constructor(numberOne: number, numberTwo: number) {
this.numberThree = this.numberOne - this.numberTwo;
}
}
export var POSTS: Post[] = [
{ numberOne: 11, numberTwo: 10 },
{ numberOne: 11, numberTwo: 10 },
{ numberOne: 11, numberTwo: 10 },
{ numberOne: 11, numberTwo: 10 },
{ numberOne: 11, numberTwo: 10 }
];
ERROR in [default]
Type '{ numberOne: number; numberTwo: number; }[]' is not assignable to type 'Post[]'.
Type '{ numberOne: number; numberTwo: number; }' is not assignable to type 'Post'.
Property 'numberThree' is missing in type '{ numberOne: number; numberTwo: number; }'.
ありがとうございます!私はあなたが示唆した第二の方法と一緒に行くつもりです。 1時間で何時間も! – mikey8989