返回
从Object.create()、new Object()到{},对象创建的差异
前端
2024-01-10 18:09:46
JavaScript 中创建对象的方法有很多,包括使用字面量、new Object()
构造函数和 Object.create()
方法。每种方法都有其独特的用途和优势。
1. 字面量
字面量是创建对象最简单直接的方法。它使用大括号 {}
来定义对象属性和方法。例如:
const person = {
name: "John Doe",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};
2. new Object()
构造函数
new Object()
构造函数也可以用于创建对象。它与字面量非常相似,但需要使用 new
来调用构造函数。例如:
const person = new Object();
person.name = "John Doe";
person.age = 30;
person.greet = function() {
console.log("Hello, my name is " + this.name);
};
3. Object.create()
方法
Object.create()
方法专门用于对象继承。它接受两个参数:一个对象作为原型,另一个对象作为属性。例如:
const person = {
name: "John Doe",
age: 30,
greet: function() {
console.log("Hello, my name is " + this.name);
}
};
const employee = Object.create(person);
employee.jobTitle = "Software Engineer";
差异
特性 | 字面量 | new Object() |
Object.create() |
---|---|---|---|
语法 | const person = { ... } |
const person = new Object() |
const person = Object.create(null) |
继承 | 不支持 | 不支持 | 支持 |
性能 | 最快 | 中等 | 最慢 |
用例 | 快速创建简单对象 | 创建复杂对象 | 创建对象并指定原型 |
结论
字面量、new Object()
构造函数和 Object.create()
方法都是创建 JavaScript 对象的有效方法。每种方法都有其独特的用途和优势。