You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PhpStorm误高亮Highmaps中JS箭头函数为语法错误,求设置调整

解决PhpStorm对ES6箭头函数的"expression expected"误报问题

我之前也碰到过一模一样的情况——代码在浏览器里跑起来完全正常,但PhpStorm偏偏在箭头函数的=>位置高亮提示"expression expected"错误,这本质是IDE的JavaScript语法版本配置没跟上你的代码特性导致的。下面是几个快速解决的步骤:

1. 调整JavaScript语言版本设置

PhpStorm默认可能设置了较低的JS版本(比如ES5),而箭头函数是ES6及以上的特性,所以会被误判为语法错误:

  • 打开Settings(Windows/Linux:File > Settings;Mac:PhpStorm > Settings)
  • 导航到Languages & Frameworks > JavaScript
  • 在JavaScript language version下拉菜单中选择ECMAScript 6+(或者更高版本,比如ECMAScript 2020,根据你项目实际使用的语法来选)
  • 点击Apply和OK,重启IDE或重新打开项目文件

2. 确保项目配置文件被IDE识别

如果你的项目用了Babel、ESLint这类工具处理JS语法,PhpStorm需要读取这些配置才能正确解析代码:

  • 检查Settings > Languages & Frameworks > JavaScript > Babel,勾选Enable并指定项目中的babel.config.js或.babelrc路径
  • 若使用ESLint,到Settings > Languages & Frameworks > JavaScript > Code Quality Tools > ESLint,开启Automatic ESLint configuration,让IDE自动读取项目的ESLint规则

3. 清除PhpStorm缓存

有时候IDE的缓存会导致语法识别异常,强制刷新缓存就能解决:

  • 点击File > Invalidate Caches...
  • 在弹出窗口中选择Invalidate and Restart,等待IDE重启完成后,错误提示应该就消失了

补充说明

你这段代码本身是完全符合ES6语法的:

map.series.map((el, i) => { 
  el.data.map((e, j) => { 
    if(e.code == ctry) { 
      map.series[i].data[j].update({color: preHoverColor}); 
      map.series[i].data[j].setState(); 
      map.tooltip.hide(); 
    } 
  }) 
})

之所以运行正常,是因为浏览器或者你的构建工具(比如Webpack+Babel)已经支持ES6+语法,但PhpStorm的语法检测规则没同步更新,才出现了误报。调整完上述设置后,IDE就能正确识别箭头函数了。

内容的提问来源于stack exchange,提问作者TheRealPapa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:08:59