如何配置JSHint以识别类的特殊箭头函数方法语法?
你当前使用的是类公共实例字段+箭头函数的语法,该语法在ES2022(ES13)中被正式纳入ECMAScript标准。
配置esversion的可行性
该方案完全可行。JSHint从2.13.0版本开始已支持ES2022标准语法的解析,你只需要在JSHint配置中将esversion的值设置为13,即可识别该语法,消除报错:
{ "esversion": 13 }
esversion最高支持版本
截至当前最新的JSHint稳定版本,esversion参数最高可设置为13,对应支持ES2022的所有标准语法,后续JSHint版本会跟进ECMAScript的更新迭代,逐步支持更高版本的ES标准。
其他替代实现方案
如果暂时无法调整全局esversion配置,可选择以下方案:
- 单文件注释配置:在对应JS文件的第一行添加注释
/* jshint esversion: 13 */,仅对当前文件生效 - 传统this绑定写法:在类的constructor中手动绑定方法的this指向,兼容低版本ES规范:
class Example { constructor() { this.handleChange = this.handleChange.bind(this) } handleChange(event) { // 方法逻辑 } }
JSHint近年相关优化进展
针对类字段语法不识别的问题,JSHint团队在2021年发布的2.13.0版本中正式合并了社区提交的相关支持PR,解决了此前持续多年的类属性初始化器语法报错问题,后续多个小版本也持续修复了该类语法解析的边缘场景问题,目前对ES2022类相关语法的支持已经稳定。
内容的提问来源于stack exchange,提问作者howard
相关产品推荐
相关产品推荐

