eslint规则强制Typescript可选参数函数语法



我想使用eslint强制可选函数参数的简洁语法.

在这种情况下,我想使用简短的?语法。即:
// Expected syntax
function myFunct(optionalInput?: number): void {...}
// Undesired syntax
function myFunct(optionalInput: number | undefined): void {...}

有没有办法在eslint中强制执行?

您不需要为此编写自定义的lint规则或任何类似的东西!TypeScript-ESLint网站上有一篇很有帮助的FAQ文章:

https://typescript-eslint.io/docs/linting/troubleshooting how-can-i-ban-specific-language-feature

您可以使用playground来推断正确的AST选择器

https://typescript-eslint.io/play showAST = es

例如,你想禁止FunctionDeclaration > Identifier.params > TSTypeAnnotation > TSUnionType:has(TSUndefinedKeyword)

- - - - - -https://typescript-eslint.io/play/#ts=4.5.2&sourceType=module&showAST=es&code=PQKgUABBCmDOA2BLAdgFwsg9gWgE51V0QGNVoATbWATzQEMAPALggG1IpOByaXXTXFwA0HThADeosRFjR40UgJZcAYgFdkpRJmQARBfDq46qbcggA+CAEly0NIgBmiXkyyoAFK0wAHUzrp4AF5CNWgAXQBKADofIzoAW1hLCAAVAGVU6h9oAEFkdxMzFIyAVWQzLJymAAs6WA8y5DtnZAoAaWhqAHcBckjhKTEEuFg6AHNoZTVZCDpzX39kQIgffh8IFFgyOnIAQkHpCABfDnCwEGAwMEcNLR0IBOp1TU8pRbNA62QfNVQARhYyDUCQARrwRGIPgF4N9fqgAExAkHg3AQAA+MkIKHGkM40OWsJ+fwAzMiwbwMRANC0UBQ8VACV9iagACwAfnJqKpNOgrXpYEiLAAbphEOQJCcgA&规则= N4XyA& tsConfig = N4XyA

注意:上面的选择器不是完全正确的,并且有一些误报——但它是一个很好的开始,可以帮助你弄清楚选择器可能是的样子。

最新更新