9 puntos por 0xwof 2022-09-14 | 3 comentarios | Compartir por WhatsApp
  • 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 satisfies en 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

 
yangeok 2022-09-19

Me da un poco de pena que no hayan quitado const assertion y puesto satisfies en su lugar,,

 
yangeok 2022-09-19

Ah, const assertion -> simplemente es una assertion.

 
kyc1682 2022-09-14

Parece que cada vez se vuelve más complejo :(