`satisfies` : upcasting sûr (TypeScript 4.9)
(engineering.ab180.co)-
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é
satisfiesa été ajouté à TypeScript 4.9 -
Contrairement au mot-clé
asexistant, 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
Je trouve qu’on aurait plutôt dû retirer
const assertionet mettresatisfies, dommage,,Ah,
const assertion-> c’est simplement une assertion.J’ai l’impression que ça devient de plus en plus complexe, snif.