返回

掌握 ES6 中的 class 语法,助你编写更优质的代码

前端

纵览 ES6 的 class 语法

ES6 中的 class 语法是 JavaScript 面向对象编程的一个重要补充,它使得 JavaScript 的对象创建和管理更加清晰、简洁。class 的本质是一种语法糖,其底层还是通过构造函数去创建的,因此它的绝大部分功能,ES5 都可以做到。新的 class 写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。

constructor 方法:类的灵魂

constructor 方法,顾名思义,就是类的构造方法,它在创建类实例时被自动调用,主要用于对类实例进行初始化操作。this 代表实例对象,可以在 constructor 方法中使用它来访问和修改实例的属性和方法。

class Person {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
}

const person1 = new Person('John', 25);
console.log(person1.name); // 'John'
console.log(person1.age); // 25

类的数据类型:函数的力量

类的数据类型就是函数,这也就意味着类可以像函数一样被赋值、传递和调用。

function createPerson(name, age) {
  return new Person(name, age);
}

const person2 = createPerson('Mary', 30);
console.log(person2.name); // 'Mary'
console.log(person2.age); // 30

类的继承:扩展与复用

类的继承是面向对象编程的重要特性之一,它允许子类继承父类的属性和方法,并在此基础上进行扩展和复用。

class Employee extends Person {
  constructor(name, age, jobTitle) {
    super(name, age); // 调用父类的构造方法
    this.jobTitle = jobTitle;
  }
}

const employee1 = new Employee('Bob', 40, 'Software Engineer');
console.log(employee1.name); // 'Bob'
console.log(employee1.age); // 40
console.log(employee1.jobTitle); // 'Software Engineer'

真实的示例:感受 class 的力量

现在,让我们来看一些真实的示例,感受 class 语法的强大之处:

  • 使用 class 创建一个学生对象,并包含姓名、年龄和成绩等属性。
  • 创建一个购物车类,其中包含商品列表、总价和结账方法。
  • 实现一个简单的银行账户类,支持存款、取款和查询余额等操作。

结语

ES6 中的 class 语法是 JavaScript 面向对象编程的一个重要补充,它使得 JavaScript 的对象创建和管理更加清晰、简洁。通过了解构造函数、类的数据类型以及类的继承,你可以编写出更加优质的代码。无论是 JavaScript 新手还是经验丰富的开发人员,相信你都能从本文中获益匪浅。