pourquoi Ts n'arrive pas a "narrow down" le type ?
Bonjour,
etant encore debutant en TS, je ne comprends pas pourquoi TS n'arrive pas a deduire le type apres des test. voici mon exemple
Code:
1 2 3 4 5 6 7 8
| function test(options:{a:string, b:string}|{}) {
if(Object.keys(options).length === 0) { return; }
// a partir de ce moment, TS devrait savoir que ca ne peut pas etre de type {}, et donc qu'on est dans le cas {a:string, b:string}
if(!options.a) { return; }// erreur : a n'existe pas dans {} | {a:string, b:string}. Propriete a n'existe pas dans {}
console.log(options.a);// erreur : a n'existe pas dans {} | {a:string, b:string}. Propriete a n'existe pas dans {}
} |