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;