返回
对象创建 & JS中的常见方法
前端
2023-11-16 09:01:02
在JavaScript中,对象是无序键值对的集合,赋予程序员组织和操纵数据的强大能力。对象是构建复杂应用程序、管理数据结构和促进代码重用不可或缺的工具。
对象创建
创建对象有两种主要方法:对象字面量和new
。
- 对象字面量: 使用大括号
{}
包围键值对,如:
const person = {
name: 'John Doe',
age: 30
};
new
使用构造函数,一种特殊的函数,以new
关键字调用,如:
function Person(name, age) {
this.name = name;
this.age = age;
}
const person = new Person('John Doe', 30);
常见方法
JavaScript提供了各种方法来操纵和访问对象属性:
- `Object.keys(): 返回一个包含对象所有键的数组。
- `Object.values(): 返回一个包含对象所有值的数组。
- `Object.entries(): 返回一个包含所有键值对的数组。
- `Object.freeze(): 使对象不可变,防止添加、删除或修改属性。
- `Object.seal(): 使对象不可扩展,但允许修改现有属性。
- `Object.assign(): 合并多个对象的属性。
- `Object.create(): 创建一个具有指定原型的新对象。
原型和继承
原型是对象的一个特殊属性,指向该对象的构造函数。通过原型,可以访问父对象的属性和方法。
JavaScript支持继承,允许子对象从父对象继承属性和方法。使用Object.create()
创建新对象时,可以指定一个原型对象。
例子
function Vehicle(make, model) {
this.make = make;
this.model = model;
}
Vehicle.prototype.drive = function() {
console.log('Driving...');
};
function Car(make, model, year) {
// 调用父构造函数
Vehicle.call(this, make, model);
// 添加子类属性
this.year = year;
}
// 继承父类原型
Car.prototype = Object.create(Vehicle.prototype);
// 添加子类方法
Car.prototype.accelerate = function() {
console.log('Accelerating...');
};
// 创建一个Car对象
const car = new Car('Toyota', 'Camry', 2020);
// 访问父类属性
console.log(car.make); // Toyota
// 调用父类方法
car.drive(); // Driving...
// 访问子类属性
console.log(car.year); // 2020
// 调用子类方法
car.accelerate(); // Accelerating...
结论
对象在JavaScript中发挥着至关重要的作用,提供了一种高效的方式来管理数据和构建复杂应用程序。通过了解对象创建、常见方法、原型和继承,您可以充分利用JavaScript的强大功能,创建灵活且可扩展的代码。