Bir tür parametresi yazmak number
istedim, ancak türü yanlış yazdım, Number
onun yerine yazdım .
IDE'mde (JetBrains WebStorm) tür Number
, ilkel tür için kullanılanla aynı renkle number
yazı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 number
ve Number
her 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];
}
}