【发布时间】:2013-03-18 21:24:03
【问题描述】:
我打算写一个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];
}
}
【问题讨论】:
标签: typescript tsc