Der Versuch, auf eine Eigenschaft von dict mit Punktnotation zuzugreifen, macht Typoskript zu beanstanden. Die Sprachspezifikation, 4,10, heißt es:Typoskript: Zugriffseigenschaft mit Punktnotation unter Verwendung des "Wörterbuch" -Typs
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.
Ich verwende:
interface MapStringToFunction {
[index: string]: Function;
}
var dict: MapStringToFunction = {};
dict.say =() => 'hi';
dict.say();
MapStringToFunction einen Stachel Index Signatur hat und say
ist vom Typ String, so sollte es erlaubt sein? Aber es ist offensichtlich nicht. Was ist mein Fehler und wie kann ich Code ändern, damit ich dict eingeben und Eigenschaften mit Punktnotation aufrufen kann?
Dieses Verhalten auch mich überrascht. Auch nach dem Lesen der Antwort sollten wir in der Lage sein, Eigenschaften von Schnittstellen mit der Punktnotation zu referenzieren. – Jopela