Disallow new For Side Effects (no-new)

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:

var person = new Person();

It's less common to use new and not store the result, such as:

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:

/*eslint no-new: "error"*/

new Thing();

Examples of correct code for this rule:

/*eslint no-new: "error"*/

var thing = new Thing();

Thing();

Version

This rule was introduced in ESLint 0.0.7.

Resources

关注前端布道师,专注分享前端最新技术、大厂面试题、聊点程序员轶事、职场感情,做前端技术的传播者.

关注 前端布道师

热爱前端开发,专注分享前端最新技术、大厂面试题、聊点程序员轶事、职场感悟,做前端技术的传播者

LeetCode题解 | 每日一题