版本

no-new-object

禁止使用 Object 构造函数

重要提示

此规则在 ESLint v8.50.0 中已弃用。请用 no-object-constructor 替换此规则。

了解更多

Object 构造函数用于在 JavaScript 中创建新的通用对象,例如

var myObject = new Object();

然而,这与使用更简洁的对象字面量语法没有区别

var myObject = {};

因此,许多人更喜欢始终使用对象字面量语法,而从不使用 Object 构造函数。

虽然两种方法之间没有性能差异,但对象字面量形式的字节节省和简洁性使其成为创建新对象的默认方式。

规则详情

此规则禁止使用 new 调用 Object 构造函数。

此规则的 错误 代码示例

在 Playground 中打开
/*eslint no-new-object: "error"*/

var myObject = new Object();

new Object();

var foo = new Object("foo");

此规则的 正确 代码示例

在 Playground 中打开
/*eslint no-new-object: "error"*/

var myObject = new CustomObject();

var myObject = {};

var Object = function Object() {};
new Object();

var foo = Object("foo");

何时不使用

如果您希望允许使用带有 newObject 构造函数,您可以安全地关闭此规则。

版本

此规则在 ESLint v0.0.9 中引入。

资源

更改语言