src/content/docs/linter/rules/use-default-parameter-last.mdx
import { Tabs, TabItem } from '@astrojs/starlight/components';
<Tabs> <TabItem label="JavaScript (and super languages)" icon="seti:javascript"> ## Summary - Rule available since: `v1.0.0` - Diagnostic Category: [`lint/style/useDefaultParameterLast`](/reference/diagnostics#diagnostic-category) - This rule isn't recommended, so you need to enable it. - This rule has an [**unsafe**](/linter/#unsafe-fixes) fix. - The default severity of this rule is [**warning**](/reference/diagnostics#warning). - Sources: - Same as [`default-param-last`](https://eslint.org/docs/latest/rules/default-param-last) - Same as [`@typescript-eslint/default-param-last`](https://typescript-eslint.io/rules/default-param-last){
"linter": {
"rules": {
"style": {
"useDefaultParameterLast": "error"
}
}
}
}
Enforce default function parameters and optional function parameters to be last.
Default and optional parameters that precede a required parameter cannot be omitted at call site.
function f(a = 0, b) {}
function f(a, b = 0, c) {}
function f(a: number, b?: number, c: number) {}
class Foo {
constructor(readonly a = 10, readonly b: number) {}
}
function f(a, b = 0) {}
function f(a: number, b?: number, c = 0) {}
function f(a: number, b = 0, c?: number) {}