为什么Array.fill()不能用于ES6目标

时间:2017-06-07 14:11:24

标签: typescript

我正在将一些js代码迁移到打字稿,我遇到了Array.fill的一些问题。

我以前有这段代码

Array(4).fill(0).map()

我将其改为

Array<number>(4).fill(0).map()

但我收到此错误

Error:(22, 49) TS2339:Property 'fill' does not exist on type 'number[]'.

我的tsconfig.json看起来像

{
  "compilerOptions": {
    "target": "es6",
    "module": "commonjs",
    "moduleResolution": "node",
    "removeComments": false,
    "outDir": "dist",
    "allowJs": true
  },
  "include": [
    "src/**/*.ts",
    "src/**/*.js"
  ],
  "exclude": [
    "node_modules",
    "dist",
    "src/**/*.spec.ts",
    "src/**/*.spec.js"
  ]
}

我已经检查过这个问题#9436

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

let arr:Array<Number>=new Array(8);
arr.fill(0);

希望它有所帮助:)