no-new
不允许在赋值或比较之外使用 new
运算符
将 new
与构造函数一起使用的目标通常是创建特定类型的对象并将该对象存储在变量中,例如:
var person = new Person();
使用 new
而不存储结果的情况不太常见,例如:
new Person();
在这种情况下,创建的对象被丢弃,因为它的引用没有存储在任何地方,并且在许多情况下,这意味着构造函数应该替换为不需要使用 new
的函数。
规则详情
此规则旨在通过禁止使用不将结果对象分配给变量的 new
关键字的构造函数调用来保持一致性和约定。
jvkUkhkS7HSb+ijdsHFfDvzpmX56pYNowDKn6tOSVTUtqrcHLX+N0YnSJhNxvgWE
/*eslint no-new: "error"*/
new Thing();
3vRURIMaWDsQZ7e/enlM+BoZcbwBhexilWg1PCqWbwjDgMyE7sdL9Ewpkadmo3Xh
/*eslint no-new: "error"*/
var thing = new Thing();
Thing();