代码之家  ›  专栏  ›  技术社区  ›  Bob5421

Typescript基元字符串没有方法[重复]

  •  1
  • Bob5421  · 技术社区  · 8 月前

    我读过Typescript中的字符串基元类型没有方法。这只是一种价值。 如果我们需要方法(例如toLowerCase()),我们需要使用String类型。

    以下是我尝试过的:

    let s = "Hello";
    console.log(typeof(s));   // string
    s = s.toLowerCase();
    

    我不明白:我已经创建了一个字符串变量,并且能够调用它的LowerCase方法…你能解释一下为什么这是可能的吗?

    字符串的附加值是多少?

    谢谢

    2 回复  |  直到 8 月前
        1
  •  0
  •   Sebastian Guzman    8 月前

    在TypeScript和JavaScript中,由于一个名为“自动装箱”的过程,您可以调用字符串基元上的方法(如“Hello”.toLowerCase())。这意味着当您在字符串基元中调用方法时,该语言会将其临时转换为string对象以访问该方法,然后在执行该方法后返回为字符串基元。这允许您在不显式处理String对象的情况下使用方法。

    字符串基元和字符串对象之间的主要区别在于,基元是简单的文本值,而字符串对象更复杂,在实践中很少需要。大多数时候,您将使用字符串基元,因为它们简单高效,这要归功于使方法使用透明的自动装箱。

        2
  •  0
  •   smcjones    8 月前

    because it’s a type

    如果有疑问,请检查TypeScript的源代码,它都是开源的,可以免费查看。