我本来打算写一个type的参数number
,但是我拼错了类型,Number
而是写了。
在我的IDE(JetBrains WebStorm)上,该类型Number
使用与原始类型相同的颜色编写number
,而如果我编写一个类的名称(已知或未知),则使用不同的颜色,因此我猜想它可以识别拼写错误的类型为正确/几乎正确/正确排序。
当我编译代码时Number
,TSC不会抱怨例如编译器找不到名为的类,而是写以下错误消息:
Illegal property access
这是否意味着,number
和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];
}
}