objetos multiple es6 ecmascript desestructuración assignment typescript destructuring

typescript - multiple - Tipos de desestructuración de objetos.



object es6 (2)

Claramente llego un poco tarde a la fiesta, pero:

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

Los tipos de propiedades name y age deben inferirse correctamente a la string y al number respectivamente.

Esta

const { foo: IFoo[] } = bar;

y esto

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

razonablemente causará un error.

Y esto

const { foo: TFoo } = bar;

solo desestructurará la propiedad de TFoo .

¿Cómo se pueden especificar los tipos de propiedades de objetos desestructurados?


Resulta que es posible especificar el tipo después : para todo el patrón de desestructuración:

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

Que en realidad no es mejor que el viejo

const foo: IFoo[] = bar.foo;