从这个问题和接受的答案中,我知道有一种方法可以通过使用此代码行中的javaScript中的对象来检查数组是否包含一个对象:
> ['joe', 'jane', 'mary'].includes('jane'); true
但是,如果我在 typescript 中使用了相同的代码>我有此错误:
属性
includes
不存在于类型string[]
。
- 为什么给编译器此错误?我期望JS中可用的所有内容,都可以在TS中使用。
- 如何在不更改代码的情况下解决此错误?它必须在ES5上工作。
包括在lib.es2016.array.include.d.ts
中定义的,因为它是es2016
标准的一部分。您可以在tsconfig
中包含此lib,但必须为该方法提供自己的多fil:
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"scripthost",
"es5",
"es2016.array.include"
]
}
}
,如果您的运行时不提供此方法,则可以通过分配Array.prototype.include
来提供多文件(例如,您可以从此处获取多文件)