WebStorm提示.includes为未解析函数,无ES7选项时如何忽略该错误?
解决WebStorm提示
.includes为未解析函数的问题 如果你的WebStorm里只能选ES6版本,却遇到了.includes未被识别的错误,试试下面这几个实用方法:
方法1:升级JavaScript语言版本设置
其实WebStorm里的JS版本选项不止ES6,.includes是ES2016的特性,你可以直接切换到对应版本来让IDE识别:
- 打开
File > Settings(Windows/Linux)或者WebStorm > Settings(Mac) - 导航到
Languages & Frameworks > JavaScript - 在
JavaScript language version下拉菜单里,选择ES2016或者ESNext(推荐选ESNext,能兼容更多后续新增的JS特性) - 点击
Apply和OK,重启WebStorm后,.includes的错误提示应该就消失了
方法2:用注释忽略单个错误
如果不想修改全局语言版本,或者只是个别代码行需要屏蔽这个提示,可以在目标代码上方添加专属注释:
// noinspection JSUnresolvedFunction if (myArray.includes('targetValue')) { // 你的业务逻辑 }
这个注释只会屏蔽当前代码块的未解析函数提示,不会影响其他代码的语法检查。
方法3:手动添加类型声明
要是上面的方法都不适用,你可以手动为Array.prototype.includes添加类型定义:
- 在项目根目录创建一个名为
custom.d.ts的文件(纯JS项目WebStorm也能识别这个类型声明文件) - 在文件里写入以下代码:
interface Array<T> { includes(searchElement: T, fromIndex?: number): boolean; }
- 保存文件后,WebStorm会自动读取这个声明,不再提示
.includes未解析
内容的提问来源于stack exchange,提问作者Chris




