Bir tür parametresi yazmak numberistedim, ancak türü yanlış yazdım, Numberonun yerine yazdım .
IDE'mde (JetBrains WebStorm) tür Number, ilkel tür için kullanılanla aynı renkle numberyazılırken, bir sınıfın adını (bilinen veya bilinmeyen) yazarsam, farklı bir renk kullanır, bu yüzden bir şekilde tanıdığını tahmin ediyorum doğru / neredeyse doğru / doğru tür olarak yanlış yazılmış tür.
Kodu derlediğimde, örneğin derleyicinin adlı bir sınıf bulamadığından şikayet etmek yerine Number, TSC şu hata mesajını yazar:
Illegal property access
Bu, bu numberve Numberher ikisinin de farklı türler olarak birlikte var olduğu anlamına mı geliyor ?
Bu doğruysa, bu sınıflar arasındaki fark nedir?
Durum bu değilse, neden bilinmeyen sınıflar için görüntülediği aynı hata mesajını yazmadı ("'Sayı' adı mevcut kapsamda mevcut değil")
Kod bu:
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];
}
}