Я мав намір написати параметр type number
, але я неправильно написав тип, Number
замість цього написавши .
У моїй IDE (JetBrains WebStorm) тип Number
пишеться з тим самим кольором, який використовується для примітивного типу number
, тоді як, якщо я пишу ім'я класу (відомого чи невідомого), він використовує інший колір, тому я думаю, що якимось чином він розпізнає неправильно написаний тип як правильний / майже правильний / тип сортування.
Коли я компілюю код, замість того, щоб скаржитися, наприклад, що компілятор не зміг знайти клас з іменем Number
, TSC пише таке повідомлення про помилку:
Illegal property access
Чи означає це , що number
і Number
як співіснує як різні типи?
Якщо це правда, яка різниця між цими класами?
Якщо це не так, то чому він просто не написав те саме повідомлення про помилку, яке відображається для невідомих класів ("Ім'я 'Номер' не існує в поточній області")
Це код:
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];
}
}