Типы примитивов Typescript: есть ли разница между типами «число» и «число» (зависит от регистра TSC)?

Я хотел написать параметр типаnumber, но я с ошибкой набрал тип, написавNumber вместо.

На моей IDE (JetBrains WebStorm) типNumber написан с тем же цветом, который используется для типа примитиваnumberв то время как если я пишу имя класса (известного или неизвестного), он использует другой цвет, так что я предполагаю, что каким-то образом он распознает тип с ошибкой как правильный / почти правильный / тип-правильный тип.

Когда я компилирую код, вместо того, чтобы жаловаться, например, что компилятор не могт нашел класс с именемNumberTSC пишет это сообщение об ошибке:

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]; 
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос