arrays - TypeScript 中的“字符串 []”类型不存在“包含”
问题描述
从这个问题和接受的答案中,我知道有一种方法可以通过使用这行代码来检查数组是否包含 JavaScript 中的对象:
> ['joe', 'jane', 'mary'].includes('jane'); true
但是,如果我在TypeScript中使用相同的代码,则会出现此错误:
includes
类型上不存在属性string[]
。
- 为什么给编译器这个错误?我期望 JS 中可用的所有东西都可以在 TS 中使用。
- 如何在不更改代码的情况下解决此错误?它必须在 ES5 上运行。
解决方案
包含在 中定义,lib.es2016.array.include.d.ts
因为它是es2016
标准的一部分。您可以在您的库中包含此库,tsconfig
但您必须为该方法提供您自己的 polyfil:
{
"compilerOptions": {
"target": "es5",
"lib": [
"dom",
"scripthost",
"es5",
"es2016.array.include"
]
}
}
如果您的运行时未在数组上提供此方法,您还可以通过分配来提供 polyfill Array.prototype.include
(例如,您可以从此处获取 polyfill )
推荐阅读
- php - 更新记录不改变当前图像
- sapui5 - 如何根据状态值更改 sap.ui.table.Table 行的颜色?
- postgresql - 大索引表上的 Postgresql 最大查询性能较慢
- java - 如何在android中修复“android.app.RemoteServiceException”
- image - 基于 alpha 的 Golang 投影
- angular - 如何使用 mergeMap Angular 处理 Typeahead 搜索中的错误场景
- javascript - 使用 google oauth 和 nestjs 进行身份验证
- angular - 如何将修改后的值发送到 API
- java - 如何反序列化 Android Notification 的附加功能中的 Parceled “android.messages”?
- ruby-on-rails - 如何在 Rails 中设置没有特定父 ID 的子索引路径?