我打算写一个 type 的参数number
,但我拼错了类型,Number
而是写了。
在我的 IDE(JetBrains WebStorm)上,该类型Number
使用与原始类型相同的颜色编写number
,而如果我编写一个类的名称(已知或未知),它使用不同的颜色,所以我猜它以某种方式识别拼写错误的类型是正确/几乎正确/排序正确的类型。
当我编译代码时,TSC 没有抱怨编译器找不到名为 的类,而是Number
写了以下错误消息:
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];
}
}