default-param-last - ESLint - Pluggable JavaScript Linter (original) (raw)

Enforce default parameters to be last

❄️ Frozen

This rule is currently frozen and is not accepting feature requests.

Table of Contents

  1. Rule Details
  2. Version
  3. Resources

Putting default parameter at last allows function calls to omit optional tail arguments.

// Correct: optional argument can be omitted
function createUser(id, isAdmin = false) {}
createUser("tabby")

// Incorrect: optional argument can **not** be omitted
function createUser(isAdmin = false, id) {}
createUser(undefined, "tabby")

Rule Details

This rule enforces default parameters to be the last of parameters.

Examples of incorrect code for this rule:

Open in Playground

/* eslint default-param-last: ["error"] */

function f(a = 0, b) {}

function g(a, b = 0, c) {}

Examples of correct code for this rule:

Open in Playground

/* eslint default-param-last: ["error"] */

function f(a, b = 0) {}

function g(a, b = 0, c = 0) {}

This rule additionally supports TypeScript type syntax.

Examples of incorrect TypeScript code for this rule:

/* eslint default-param-last: ["error"] */

function h(a = 0, b: number) {}

Examples of correct TypeScript code for this rule:

/* eslint default-param-last: ["error"] */

function h(a = 0, b?: number) {}

Version

This rule was introduced in ESLint v6.4.0.

Resources