Provare ad accedere a una proprietà di dict con notazione dot rende Typescript lamentarsi. La specifica del linguaggio, 4.10, afferma:dattiloscritto: accesso proprietà con notazione punto utilizzando 'dizionario' tipo
ObjExpr [ IndexExpr]
... if ObjExpr ’s apparent type has a string index signature and IndexExpr is of type Any, the String or Number primitive type, or an enum type, the property access is of the type of that index signature.
sto usando:
interface MapStringToFunction {
[index: string]: Function;
}
var dict: MapStringToFunction = {};
dict.say =() => 'hi';
dict.say();
MapStringToFunction ha una firma indice di Sting e say
è di tipo String, quindi dovrebbe essere permesso? Ma ovvio non lo è. Qual è il mio errore e come posso modificare il codice in modo da poter digitare dict e accedere alle proprietà con la notazione dei punti?
Questo comportamento mi sorprende pure. Anche dopo aver letto la risposta, penso che dovremmo essere in grado di fare riferimento alla proprietà delle interfacce con la notazione dot. – Jopela