Disons que j'ai une fonction el, définie dactylographiée:Quelle est la méthode recommandée pour ajouter la signature d'index à une fonction définie dans tapuscrit
function el():string { .. }
je voudrais supprimer la violation de type (a pas d'index signature) lors de l'ajout ultérieur des clés à el:
el.x =() => {...}
Est-ce possible de faire sans coulée?
Jusqu'à présent, la meilleure solution que j'ai trouvé est de définir une interface séparée et coulée à tout en assignant:
interface ElFactory {
[index: string]:() => string
(): string
}
Et puis:
(el as ElFactory).x =() => {}
Est-il possible d'éviter la coulée entièrement ? Comme dans, en définissant la fonction l'associer à l'interface ou spécifier la signature d'index lors de la définition de la fonction?
Ce n'est pas vraiment clair ce que vous cherchez. Pourriez-vous donner un exemple? Pour moi, il semble que vous vouliez étendre un type 'Function'? – smnbbrv
Je veux une variable el qui peut être invoquée comme une fonction 'el()' et qui a des membres de fonction 'el.x()'. – lorefnon