gpt4 book ai didi

Typescript 原始类型 : any difference between the types "number" and "Number" (is TSC case-insensitive)?

转载 作者:搜寻专家 更新时间:2023-10-30 20:28:53 25 4
gpt4 key购买 nike

我想写一个number类型的参数,但我拼错了类型,而是写成Number

在我的 IDE (JetBrains WebStorm) 上,类型 Number 的颜色与用于基本类型 number 的颜色相同,而如果我写一个名称类(已知或未知)它使用不同的颜色,所以我猜它以某种方式将拼写错误的类型识别为正确/几乎正确/某种正确类型。

当我编译代码时,TSC 没有提示编译器找不到名为 Number 的类,而是写了这条错误消息:

Illegal property access

这是否意味着 numberNumber 都作为不同的类型共存?

如果这是真的,那么这些类之间的区别是什么?

如果不是这种情况,那么为什么它只是没有编写它为未知类显示的相同错误消息(“名称‘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 Do's and Don'ts 的指导补充 Ryan 的回答:

Don't ever use the types Number, String, Boolean, Symbol, or Object These types refer to non-primitive boxed objects that are almost never used appropriately in JavaScript code.

/* WRONG */
function reverse(s: String): String;

Do use the types number, string, boolean, and symbol.

/* OK */
function reverse(s: string): string;

关于Typescript 原始类型 : any difference between the types "number" and "Number" (is TSC case-insensitive)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15487220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com