'includes' 在 TypeScript 中的类型 'string[]' 上不存在



从这个问题和接受的答案中,我知道有一种方法可以通过使用此代码行中的javaScript中的对象来检查数组是否包含一个对象:

> ['joe', 'jane', 'mary'].includes('jane');
true 

但是,如果我在 typescript 中使用了相同的代码>我有此错误:

属性includes不存在于类型string[]

  1. 为什么给编译器此错误?我期望JS中可用的所有内容,都可以在TS中使用。
  2. 如何在不更改代码的情况下解决此错误?它必须在ES5上工作。

包括在lib.es2016.array.include.d.ts中定义的,因为它是es2016标准的一部分。您可以在tsconfig中包含此lib,但必须为该方法提供自己的多fil:

{
    "compilerOptions": {
        "target": "es5",
        "lib": [
            "dom",
            "scripthost",
            "es5",
            "es2016.array.include"
        ]
    }
}

,如果您的运行时不提供此方法,则可以通过分配Array.prototype.include来提供多文件(例如,您可以从此处获取多文件)

相关内容

最新更新