9 points par 0xwof 2022-09-14 | 3 commentaires | Partager sur WhatsApp
  • TypeScript 4.9 doit sortir le 15 novembre, avec une bêta prévue à partir du 20 septembre

    • actuellement disponible en nightly dans le Playground
  • Le mot-clé satisfies a été ajouté à TypeScript 4.9

  • Contrairement au mot-clé as existant, il prend en charge un upcasting sûr

  • À l’origine, un upcasting sûr n’était possible que si le type était défini à l’avance

  • Avec satisfies, il devient également pratique d’effectuer un upcasting sûr sur une seule paire clé-valeur d’un objet

  • Avant

// Sûr, mais il faut définir le type de manière fastidieuse (définition de type)  
const object: {  
    a: number  
    b: { a: number }  
} = {  
     a: 10,  
     b: { a: 10, b: 20 } // no error  
     // b: {} // error  
}  
// Pratique, mais pas sûr (`as`)  
const object = {  
    a: 10,  
    b: { a: 10, b: 20 } as { a: number } // no error  
    // b: {} as { a: number } // no error (!!!)  
}  
  • satisfies
// Pratique et sûr  
const object = {  
    a: 10,  
    b: { a: 10, b: 20 } satisfies { a: number } // no error  
    // b: {} satisfies { a: number } // error  
}  

3 commentaires

 
yangeok 2022-09-19

Je trouve qu’on aurait plutôt dû retirer const assertion et mettre satisfies, dommage,,

 
yangeok 2022-09-19

Ah, const assertion -> c’est simplement une assertion.

 
kyc1682 2022-09-14

J’ai l’impression que ça devient de plus en plus complexe, snif.