JavaScript 使用类

57 阅读1分钟

JavaScript 是一个基于原型的语言——一个对象的行为取决于它自身的属性及其原型的属性。对类来说,相较于与其他面向对象的语言,譬如 Java,创建对象的多层级结构及其属性的继承关系需要更多的代码行。本节,我们将展示如何利用类创建实例。

类的概念

如果你已经有动手实践过 JavaScript 的经历,或是阅读指南一路过来,你可能已经用过类了,即便你还没有自己创建过。例如,你可能会对这个很熟悉:

const bigDay = new Date(2019, 6, 19);
console.log(bigDay.toLocaleDateString());
if (bigDay.getTime() < Date.now()) {
  console.log("Once upon a time...");
}

在第一行,我们创建了一个Date类的实例,并将其命名为 bigDay。在第二行,我们在 bigDay 实例上调用了 toLocaleDateString() 方法,并返回了一个字符串。接下来,我们对比了两个数字:一个来自于方法 getTime() 的返回值,另个一来自于对 Date 类本身的直接调用,本例为 Date.now()。 Date 是一个 JavaScript 的内建类。

声明一个类

类通常通过类声明class来创建。

class Color {
  // 构造函数
  constructor(r, g, b) {
    this.values = [r, g, b];
  }
  // 实例方法
  getRed() {
    return this.values[0];
  }
}

// 创建好以后我们可以像上方示例一样类使用它
const red = new Color(255, 0, 0);
console.log(red.getRed()); // 255