Disallow specified identifiers
“There are only two hard things in Computer Science: cache invalidation and naming things.” — Phil Karlton
Generic names can lead to hard-to-decipher code. This rule allows you to specify a deny list of disallowed identifier names to avoid this practice.
This rule disallows specified identifiers in assignments and function
definitions.
This rule will catch disallowed identifiers that are:
It will not catch disallowed identifiers that are:
The rule takes one or more strings as options: the names of restricted identifiers.
For example, to restrict the use of common generic identifiers:
{
"id-denylist": ["error", "data", "err", "e", "cb", "callback"]
}
Note: The first element of the array is for the rule severity (see configuring rules. The other elements in the array are the identifiers that you want to disallow.
Examples of incorrect code for this rule with sample "data", "callback"
restricted identifiers:
/*eslint id-denylist: ["error", "data", "callback"] */
var data = {...};
function callback() {
// ...
}
element.callback = function() {
// ...
};
var itemSet = {
data: [...]
};
class Foo {
data = [];
}
class Foo {
#data = [];
}
class Foo {
callback( {);
}
class Foo {
#callback( {);
}
Examples of correct code for this rule with sample "data", "callback"
restricted identifiers:
/*eslint id-denylist: ["error", "data", "callback"] */
var encodingOptions = {...};
function processFileResult() {
// ...
}
element.successHandler = function() {
// ...
};
var itemSet = {
entities: [...]
};
callback(); // all function calls are ignored
foo.callback(); // all function calls are ignored
foo.data; // all property names that are not assignments are ignored
class Foo {
items = [];
}
class Foo {
#items = [];
}
class Foo {
method( {);
}
class Foo {
#method( {);
}
You can turn this rule off if you do not want to restrict the use of certain identifiers.
This rule was introduced in ESLint v7.4.0.
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/id-denylist