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

寻求ESLint规则:将函数声明标记为错误以改用箭头函数

如何强制使用箭头函数而非普通函数声明

嘿,这个需求完全可以通过ESLint来实现——它是前端生态里最常用的代码规范检查工具,正好有对应的规则帮你约束函数的写法。

核心配置步骤

  1. 确保你已经在项目中安装了ESLint(如果还没装,执行npm install eslint --save-dev即可)。
  2. 在项目根目录的ESLint配置文件(比如.eslintrc.js或.eslintrc.json)中添加以下规则:
module.exports = {
  // 其他配置项...
  rules: {
    // 强制使用箭头函数(ESLint v7及以上版本支持)
    'func-style': ['error', 'arrow'],
    // 配合no-var确保用const/let声明变量,避免旧的var写法
    'no-var': 'error'
  }
};

规则说明

  • func-style: ['error', 'arrow']:这个规则会直接把所有普通函数声明(比如function foo() {})标记为错误,要求必须使用箭头函数。
  • 如果你的ESLint版本低于v7,可以用func-style: ['error', 'expression']——它会强制使用函数表达式(箭头函数属于函数表达式的一种),不过这个规则允许普通函数表达式(比如const foo = function() {}),如果要严格只允许箭头函数,建议升级ESLint到v7以上。

示例效果

  • ❌ 错误代码(会被ESLint报错):
function foo() {
  return "bar";
}
  • ✅ 符合规则的代码:
const foo = () => "bar";

例外情况处理

如果某些场景下确实需要使用普通函数声明(比如构造函数,箭头函数不能作为构造函数使用),可以在规则中添加例外:

'func-style': ['error', 'arrow', {
  allow: ['functions'] // 允许特定场景使用普通函数
}]

不过一般来说,构造函数这类场景ESLint的new-cap等规则会自动约束,不用额外担心。

内容的提问来源于stack exchange,提问作者T.Koomen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:15:03