mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-25 01:19:14 +08:00
68 lines
1.5 KiB
Text
68 lines
1.5 KiB
Text
---
|
|
description: 'Enforce default parameters to be last.'
|
|
---
|
|
|
|
> 🛑 This file is source code, not the primary documentation location! 🛑
|
|
>
|
|
> See **https://typescript-eslint.io/rules/default-param-last** for documentation.
|
|
|
|
## Rule Details
|
|
|
|
This rule extends the base [`eslint/default-param-last`](https://eslint.org/docs/rules/default-param-last) rule.
|
|
It adds support for optional parameters.
|
|
|
|
<!--tabs-->
|
|
|
|
### ❌ Incorrect
|
|
|
|
```ts
|
|
/* eslint @typescript-eslint/default-param-last: ["error"] */
|
|
|
|
function f(a = 0, b: number) {}
|
|
function f(a: number, b = 0, c: number) {}
|
|
function f(a: number, b?: number, c: number) {}
|
|
class Foo {
|
|
constructor(public a = 10, private b: number) {}
|
|
}
|
|
class Foo {
|
|
constructor(public a?: number, private b: number) {}
|
|
}
|
|
```
|
|
|
|
### ✅ Correct
|
|
|
|
```ts
|
|
/* eslint @typescript-eslint/default-param-last: ["error"] */
|
|
|
|
function f(a = 0) {}
|
|
function f(a: number, b = 0) {}
|
|
function f(a: number, b?: number) {}
|
|
function f(a: number, b?: number, c = 0) {}
|
|
function f(a: number, b = 0, c?: number) {}
|
|
class Foo {
|
|
constructor(public a, private b = 0) {}
|
|
}
|
|
class Foo {
|
|
constructor(public a, private b?: number) {}
|
|
}
|
|
```
|
|
|
|
## How to Use
|
|
|
|
```jsonc
|
|
{
|
|
// note you must disable the base rule as it can report incorrect errors
|
|
"default-param-last": "off",
|
|
"@typescript-eslint/default-param-last": ["error"]
|
|
}
|
|
```
|
|
|
|
## Options
|
|
|
|
See [`eslint/default-param-last` options](https://eslint.org/docs/rules/default-param-last#options).
|
|
|
|
<sup>
|
|
|
|
Taken with ❤️ [from ESLint core](https://github.com/eslint/eslint/blob/main/docs/rules/default-param-last.md)
|
|
|
|
</sup>
|