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