The goal of using new with a constructor is typically to create an object of a particular type and store that object in a variable, such as:
js
const person = new Person();It's less common to use new and not store the result, such as:
js
new Person();In this case, the created object is thrown away because its reference isn't stored anywhere, and in many cases, this means that the constructor should be replaced with a function that doesn't require new to be used.
Rule Details ​
This rule is aimed at maintaining consistency and convention by disallowing constructor calls using the new keyword that do not assign the resulting object to a variable.
Examples of incorrect code for this rule:
::: incorrect
js
/*eslint no-new: "error"*/
new Thing();:::
Examples of correct code for this rule:
::: correct
js
/*eslint no-new: "error"*/
const thing = new Thing();
Foo();:::