对象字面量语法更简洁、可读性更强,性能更优,是创建对象的首选方式;2. new Object() 虽功能等价但冗长且性能略低,仅在特殊动态场景使用。

在 javaScript 中,创建对象是日常开发中的基础操作。两种常见方式是使用对象字面量和内置构造函数new Object()。虽然它们都能生成对象,但在可读性、性能和使用习惯上存在差异。
语法简洁性与可读性
对象字面量采用简洁直观的语法,适合快速定义键值对结构。
const obj1 = { name: “Alice”, age: 25 };
而 new Object() 使用构造函数形式,代码更冗长,可读性较差。
const obj2 = new Object(); obj2.name = “Alice”; obj2.age = 25; // 或:const obj2 = new Object({ name: “Alice”, age: 25 });
即使通过传参简化,仍不如字面量自然。多数开发者倾向选择更清晰的写法。
立即学习“Java免费学习笔记(深入)”;
性能差异
现代 javascript 引擎对对象字面量做了大量优化。相比之下,new Object() 涉及构造函数调用,引擎需执行更多步骤,包括查找构造函数、绑定 this 等。
尽管实际项目中这种差异微乎其微,但在高频创建对象的场景下,字面量略胜一筹。
功能等价性
两种方式创建的对象在行为上几乎完全一致。无论是属性访问、原型继承还是方法调用,运行结果无区别。
例如:
const a = { x: 1 }; const b = new Object({ x: 1 }); console.log(a.x === b.x); // true console.log(a instanceof Object); // true console.log(b instanceof Object); // true
说明两者都创建了标准的普通对象,继承自 Object.prototype。
编码风格与最佳实践
主流编码规范(如 airbnb、google js Style)推荐使用对象字面量。它更符合现代 JavaScript 风格,减少不必要的语句,提升维护效率。
new Object() 在实际开发中极少使用,除非在特定动态场景下需要显式调用构造函数逻辑。
基本上就这些。对象字面量是首选方式,简洁高效;new Object() 虽然合法,但没必要在常规场景中使用。


