js实现object
实现 JavaScript 对象的基本方法
JavaScript 中的对象可以通过多种方式创建和操作,以下是几种常见的实现方法:
对象字面量
const person = {
name: 'John',
age: 30,
greet: function() {
console.log('Hello!');
}
};
构造函数
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
console.log('Hello!');
};
}
const john = new Person('John', 30);
使用 Object.create()
Object.create() 方法创建一个新对象,使用现有的对象作为新创建对象的原型:
const personProto = {
greet: function() {
console.log('Hello!');
}
};
const john = Object.create(personProto);
john.name = 'John';
john.age = 30;
ES6 类语法
ES6 引入了类语法,使得对象的创建更加清晰:

class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log('Hello!');
}
}
const john = new Person('John', 30);
动态属性访问
可以通过方括号语法动态访问和设置对象属性:
const person = { name: 'John' };
const prop = 'name';
console.log(person[prop]); // 'John'
person['age'] = 30;
对象合并
使用 Object.assign() 或扩展运算符合并对象:
const obj1 = { a: 1 };
const obj2 = { b: 2 };
const merged = Object.assign({}, obj1, obj2);
// 或使用扩展运算符
const merged = { ...obj1, ...obj2 };
对象迭代
使用 Object.keys(), Object.values(), 或 Object.entries() 迭代对象:

const person = { name: 'John', age: 30 };
Object.keys(person).forEach(key => {
console.log(key, person[key]);
});
原型继承
JavaScript 使用原型链实现继承:
function Animal(name) {
this.name = name;
}
Animal.prototype.speak = function() {
console.log(this.name + ' makes a noise.');
};
function Dog(name) {
Animal.call(this, name);
}
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
对象属性描述符
可以定义属性的特性:
const obj = {};
Object.defineProperty(obj, 'readOnly', {
value: 42,
writable: false
});
对象解构
从对象中提取属性:
const person = { name: 'John', age: 30 };
const { name, age } = person;
console.log(name, age);
这些方法涵盖了 JavaScript 中对象创建、操作和继承的主要技术,根据具体需求选择合适的方式。






