Je ne comprends pas pourquoi Typescript ne signale pas cela comme une erreur ...
Quand j'ajoute conditionnellement une nouvelle propriété à un objet qui n'existe pas dans la définition du type de cet objet, Typescript l'assigne
type Filters = {
keywords: Array
}
const condition = 1;
let filters: Filters = {keywords: ['keyword']}
filters = {
...filters,
...(condition && {...{ tags: ['tag']}}),
}
Résultats:
filters: {
keywords:["keyword"]
tags:["tag"]
}
Alors que je m'attendais à obtenir cette erreur:
Object literal may only specify known properties, and 'tags' does not exist in type 'Filters'.
PS : J'obtiens l'erreur attendue lorsque j'essaie d'ajouter la même propriété de cette manière :
filters = {...filters, tags: ['tag']}