satisfies: upcasting seguro (TypeScript 4.9)
(engineering.ab180.co)-
Está previsto que TypeScript 4.9 se lance el 15 de noviembre, y que las pruebas beta comiencen el 20 de septiembre
- Actualmente se puede usar en el Playground como nightly
-
Se agregó la palabra clave
satisfiesen TypeScript 4.9 -
A diferencia de la palabra clave existente
as, admite upcasting seguro -
Originalmente, el upcasting seguro solo era posible cuando el tipo estaba definido de antemano
-
Con
satisfies, también es posible hacer upcasting seguro de forma conveniente incluso para un solo par key-value dentro de un objeto -
Antes
// Es seguro, pero hay que definir el tipo de forma engorrosa (definición de tipo)
const object: {
a: number
b: { a: number }
} = {
a: 10,
b: { a: 10, b: 20 } // no error
// b: {} // error
}
// Es conveniente, pero no es seguro (as)
const object = {
a: 10,
b: { a: 10, b: 20 } as { a: number } // no error
// b: {} as { a: number } // no error (!!!)
}
satisfies
// Es conveniente y seguro
const object = {
a: 10,
b: { a: 10, b: 20 } satisfies { a: number } // no error
// b: {} satisfies { a: number } // error
}
3 comentarios
Me da un poco de pena que no hayan quitado
const assertiony puestosatisfiesen su lugar,,Ah,
const assertion-> simplemente es unaassertion.Parece que cada vez se vuelve más complejo :(