如何使用ESLint强制校验Typescript函数可选参数的简洁语法
对应ESLint规则说明
你需要的校验能力可以通过@typescript-eslint插件提供的@typescript-eslint/prefer-optional-parameter规则实现。该规则会自动识别函数参数中用类型 | undefined显式声明联合类型的写法,强制要求替换为带?的可选参数简洁语法,同时支持一键自动修复。
配置方法
- 先确保项目中已安装
@typescript-eslint/eslint-plugin、@typescript-eslint/parser相关依赖 - 在ESLint配置文件(.eslintrc.js、.eslintrc.json等)的rules节点中添加如下配置:
{ "rules": { "@typescript-eslint/prefer-optional-parameter": "error" } }
- 规则等级设置为
error时,不符合要求的写法会直接抛出校验错误,也可以根据需求调整为warn仅做提示。
校验效果示例
符合规则的正确写法
// 预期写法 function myFunct(optionalInput?: number): void { // 函数逻辑 }
会被拦截的错误写法
// 不被允许的写法 function myFunct(optionalInput: number | undefined): void { // 函数逻辑 }
扩展补充
如果需要同时校验类方法参数、接口/类型定义中函数类型的参数、对象属性的可选声明,可以搭配@typescript-eslint/prefer-optional-property规则一起使用,覆盖更多场景的可选值语法校验。
内容的提问来源于stack exchange,提问作者Joseph Lust
相关产品推荐
相关产品推荐

