Типы примитивов Typescript: есть ли разница между типами «число» и «число» (зависит от регистра TSC)?
Я хотел написать параметр типа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];
}
}