interface Test{
a: string
b: string
}
const object: Test = {
a: 'b',
b: 'c',
}
function testIt(): Test[] {
const data = [{b: '2', c: '3'}]
const prices: Test[] = data.length ? data.map((item) => {
return {
a: item.b,
b: item.c,
c: '2',
d: '3'
}
}) : [];
return prices;
}
La suppression de la propriété a ou b de l'instruction de retour de l'objet dans la méthode array map entraîne une erreur TypeScript (comme prévu).
L'ajout de c ou d ou de toute autre propriété inconnue aléatoire ne déclenche pas d'erreur TypeScript. Je soupçonne que cela n'est possible que si l'interface contient [x : string] : any.
Pourquoi Array.map vérifie-t-il les propriétés manquantes d'une interface, mais pas les propriétés supplémentaires ou inconnues ?