enforce default parameters to be last (default-param-last)

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:

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

function f(a = 0, b) {}

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

Examples of correct code for this rule:

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

function f(a, b = 0) {}

Version

This rule was introduced in ESLint 6.4.0.

Resources