Typoskript-Primitivtypen: Gibt es einen Unterschied zwischen den Typen "Zahl" und "Zahl" (bei TSC wird die Groß- / Kleinschreibung nicht berücksichtigt)?
Ich wollte einen Parameter vom Typ schreibennumber
, aber ich habe den Typ falsch geschrieben und geschriebenNumber
stattdessen.
Auf meiner IDE (JetBrains WebStorm) den TypNumber
wird mit der gleichen Farbe geschrieben, die für den primitiven Typ verwendet wirdnumber
Wenn ich einen Klassennamen (bekannt oder unbekannt) schreibe, wird eine andere Farbe verwendet, sodass ich vermute, dass der falsch geschriebene Typ irgendwie als korrekter / fast korrekter / irgendwie korrekter Typ erkannt wird.
Wenn ich den Code kompiliere, anstatt mich zum Beispiel zu beschweren, dass der Compiler keine Klasse mit dem Namen gefunden hatNumber
, TSC schreibt diese Fehlermeldung:
Illegal property access
Bedeutet das, dassnumber
undNumber
beide existieren als unterschiedliche Typen nebeneinander?
Wenn dies zutrifft, was ist der Unterschied zwischen diesen Klassen?
Wenn dies nicht der Fall ist, warum hat es einfach nicht die gleiche Fehlermeldung geschrieben, die es für unbekannte Klassen anzeigt ("Der Name 'Number' ist im aktuellen Gültigkeitsbereich nicht vorhanden")
Dies ist der Code:
class Test
{
private myArray:string[] = ["Jack", "Jill", "John", "Joe", "Jeff"];
// THIS WORKS
public getValue(index:number):string
{
return this.myArray[index];
}
// THIS DOESN'T WORK: ILLEGAL PROPERTY ACCESS
public getAnotherValue(index:Number):string
{
return this.myArray[index];
}
}