最佳答案
我本来想写一个类型为 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];
}
}