You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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特性)
  • 点击ApplyOK,重启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

火山引擎 最新活动