web-dev-qa-db-ja.com

オブジェクトの構造化のタイプ

この

const { foo: IFoo[] } = bar;

この

const { foo: Array<IFoo> } = bar;

合理的にエラーを引き起こします。

この

const { foo: TFoo } = bar;

TFooプロパティを単に分解します。

非構造化オブジェクトのプロパティに型を指定するにはどうすればよいですか?

56
Estus Flask

構造化パターン全体に対して:の後に型を指定することが可能であることがわかります。

const {foo}: {foo: IFoo[]} = bar;

これは実際には普通の古いものよりも優れていません

const foo: IFoo[] = bar.foo;
90
artem

私は明らかにパーティーに少し遅れていますが、:

interface User {
  name: string;
  age: number;
}

const obj: any = { name: 'Johnny', age: 25 };
const { name, age }: User = obj;

プロパティのタイプnameおよびageは、それぞれstringおよびnumberに正しく推論される必要があります。

30
Stephen Paul