Selecting a version will take you to the chosen version of the ESLint docs.

no-dupe-keys

Disallow duplicate keys in object literals

Recommended

Using the recommended config from @eslint/js in a configuration file enables this rule

Multiple properties with the same key in object literals can cause unexpected behavior in your application.

const foo = {
    bar: "baz",
    bar: "qux"
};

Rule Details

This rule disallows duplicate keys in object literals.

Examples of incorrect code for this rule:

Open in Playground
/*eslint no-dupe-keys: "error"*/

const foo = {
    bar: "baz",
    bar: "qux"
};

const bar = {
    "bar": "baz",
    bar: "qux"
};

const baz = {
    0x1: "baz",
    1: "qux"
};

Examples of correct code for this rule:

Open in Playground
/*eslint no-dupe-keys: "error"*/

const foo = {
    bar: "baz",
    quxx: "qux"
};

const obj = {
    "__proto__": baz, // defines object's prototype
    ["__proto__"]: qux // defines a property named "__proto__"
};

Handled by TypeScript

It is safe to disable this rule when using TypeScript because TypeScript's compiler enforces this check.

Version

This rule was introduced in ESLint v0.0.9.

Resources

Theme Switcher

Selecting a language will take you to the ESLint website in that language.