返回

Javascript之对象的精髓

前端

前言

对象是Javascript编程语言中的一等公民。它们用于表示现实世界中的实体,如汽车、房屋或人。对象由属性和方法组成,属性表示对象的特征,方法表示对象的行为。

一、对象的创建

在Javascript中,对象可以通过多种方式创建。

1. 对象字面量

对象字面量是创建对象最简单的方式。它使用花括号({})来定义对象。对象字面量中的每个属性都由键和值组成,键是属性的名称,值是属性的值。例如:

const person = {
  name: "John Doe",
  age: 30,
  city: "New York",
};

2. new操作符

new操作符可以用来创建对象实例。对象实例是基于构造函数创建的。构造函数是一个特殊的函数,用于创建和初始化对象。例如:

function Person(name, age, city) {
  this.name = name;
  this.age = age;
  this.city = city;
}

const person = new Person("John Doe", 30, "New York");

3. Object.create()方法

Object.create()方法可以用来创建对象实例。Object.create()方法接收两个参数,第一个参数是对象的原型,第二个参数是对象的属性符。例如:

const person = Object.create(Person.prototype, {
  name: {
    value: "John Doe",
  },
  age: {
    value: 30,
  },
  city: {
    value: "New York",
  },
});

二、对象的访问

在Javascript中,可以使用点(.)或方括号([])来访问对象的属性。点(.)用于访问对象的直接属性,方括号([])用于访问对象的间接属性。例如:

const name = person.name; // "John Doe"
const age = person["age"]; // 30

三、对象的操纵

在Javascript中,可以使用各种方法来操纵对象。这些方法包括:

1. 添加属性

可以使用对象的方括号([])来添加属性。例如:

person["job"] = "Software Engineer";

2. 删除属性

可以使用delete运算符来删除属性。例如:

delete person.job;

3. 修改属性

可以使用对象的方括号([])或点(.)来修改属性。例如:

person["name"] = "Jane Doe";
person.age = 31;

四、Javascript中的一些常用对象方法

Javascript中有一些常用对象方法,这些方法可以帮助我们操作对象。这些方法包括:

1. Object.assign()方法

Object.assign()方法可以用来复制对象或合并对象。例如:

const person2 = Object.assign({}, person);

const person3 = Object.assign(person, {
  job: "Software Engineer",
});

2. Object.keys()方法

Object.keys()方法可以用来返回对象的所有属性名称。例如:

const keys = Object.keys(person); // ["name", "age", "city"]

3. Object.values()方法

Object.values()方法可以用来返回对象的所有属性值。例如:

const values = Object.values(person); // ["John Doe", 30, "New York"]

4. Object.entries()方法

Object.entries()方法可以用来返回对象的所有属性名称和属性值。例如:

const entries = Object.entries(person); // [["name", "John Doe"], ["age", 30], ["city", "New York"]]

五、总结

对象是Javascript编程语言中的一等公民。它们用于表示现实世界中的实体,如汽车、房屋或人。对象由属性和方法组成,属性表示对象的特征,方法表示对象的行为。本文介绍了Javascript中的对象,包括对象的创建、访问和操纵等。此外,我还重点介绍了Javascript中的一些常用对象方法,如Object.assign()和Object.keys()等。