相关疑难解决方法(0)

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

当我输入chrome dev工具时:

"1".padStart(2,0)
Run Code Online (Sandbox Code Playgroud)

我明白了

"01"
Run Code Online (Sandbox Code Playgroud)

但是当我写作

"1".padStart(2,0)
Run Code Online (Sandbox Code Playgroud)

在我的打字稿项目中

我明白了

Property 'padStart' does not exist on type 'string'.
Run Code Online (Sandbox Code Playgroud)

为什么Typescript会抱怨?我该如何解决?

typescript

16
推荐指数
3
解决办法
8490
查看次数

TypeScript"lib"选项到底有什么作用?

我还是找不到合适的答案."target"选项定义了结果将在哪个版本的Javascript上运行."lib"选项在任何地方都不太清楚.似乎它是一种更精细的方式来描述目标环境,但是它似乎很奇怪它会影响你在.ts源文件中写的内容.认为TS是什么作为JS的超集,那么为什么它会影响,例如,Promis()是否可用?这似乎不仅定义了目标,还影响了Typescript中可用的功能.有人可以清楚地或直接解释答案(在typescriptlang.org或我看过的书中都没有,例如,"指定要包含在编辑中的库文件",这绝对没有解释

typescript lib

12
推荐指数
2
解决办法
1218
查看次数

为什么我需要一个带有 Typescript 的 polyfill?

假设我想使用Object.values(). 为了使用它,我必须设置"lib":["es2017"]. 但后来我有"target":"es6"

作为一个新的 Typescript 用户,我读这个的方式是我正在用es2017方法编写并且它正在输出es6代码。

所以我的问题是,为什么我需要一个 polyfill,我该如何选择一个可靠的 polyfill?

typescript

3
推荐指数
2
解决办法
5492
查看次数

尽管tsconfig目标设置为ES5,为什么仍需要ES7 /阵列polyfill

我在中有以下设置tsconfig.json。我添加"es2017"了使用Array.includes。:

{
  "compilerOptions": {
    "lib": [
      "es6",
      "es2017",
      "dom"
    ],
    "module": "es6",
    "target": "es5"
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,我意识到,我必须添加import 'core-js/es7/array';polyfills.ts,以Array.includes用于Internet Explorer11。target中的tsconfig.json设置为es5,而没有Array.includes

为什么需要添加polyfill?

polyfills typescript tsc tsconfig angular

3
推荐指数
1
解决办法
324
查看次数

标签 统计

typescript ×4

angular ×1

lib ×1

polyfills ×1

tsc ×1

tsconfig ×1