gpt4 book ai didi

Typescript 告诉我属性 'padStart' 在类型 'string' 上不存在。为什么?

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

当我在 chrome 开发工具中输入时:

"1".padStart(2,0)

我明白了

"01"

但是当我写的时候

"1".padStart(2,0)

在我的 typescript 项目中

我明白了

Property 'padStart' does not exist on type 'string'.

为什么 Typescript 会报错?我该如何解决这个问题?

最佳答案

padStart 定义在 ES2017 标准中。您需要告诉 typescript 使用适当的打字(ES2017 的打字)。如果您的运行时支持 ES2017 所需的所有语言功能(在撰写本文时可能并非如此),您可以通过将目标设置为 ES2017 来实现此目的.

另一种选择是只设置 libs 选项,以便根据 ES2017 获取运行时对象的类型,但仍然编译成您所针对的任何语言版本.(注意runtime本身需要支持padStart,typescript不会提供任何poly-fills)

您可以在 tsconfig 中使用 lib 选项执行此操作:

"compilerOptions": {
"target": "es2016",
"lib": [
"es2017",
"dom"
"scripthost"
],
// ...

}

您可以在此 answer 中阅读更多关于 lib 与 target 的信息

关于Typescript 告诉我属性 'padStart' 在类型 'string' 上不存在。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52293010/

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